Spaces:
Running
Running
File size: 1,469 Bytes
bca888a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | "use client"
import { UsersRound } from "lucide-react"
import { useAudienceMode } from "@/components/audience-mode-provider"
import { Badge } from "@/components/ui/badge"
import type { CrossPartyDivergence } from "@/lib/backend-artifacts"
import { cn } from "@/lib/utils"
import { formatSignalNumber } from "./signal-utils"
import { SignalTooltip } from "./signal-tooltip"
export function CrossPartyDivergenceBadge({
divergence,
className,
}: {
divergence?: CrossPartyDivergence | null
className?: string
}) {
const { mode } = useAudienceMode()
const isResearchView = mode === "research"
if (!divergence?.has_cross_party_divergence) {
return null
}
const magnitude = formatSignalNumber(divergence.divergence_magnitude)
const orgCount = divergence.organization_count
const tooltip = isResearchView
? `Reports diverge by ${magnitude} across ${orgCount} organization${orgCount === 1 ? "" : "s"}.`
: "Different organizations reported different scores for this same model on this same benchmark."
return (
<SignalTooltip content={tooltip}>
<Badge
variant="outline"
className={cn(
"border-violet-300 bg-violet-50 text-violet-900 dark:border-violet-900/60 dark:bg-violet-950/40 dark:text-violet-100",
className
)}
>
<UsersRound className="h-3 w-3" />
{isResearchView ? "Cross-party divergence" : "Sources disagree"}
</Badge>
</SignalTooltip>
)
}
|