import { HoverCard, HoverCardContent, HoverCardTrigger, } from "@/src/components/ui/hover-card"; import { Info } from "lucide-react"; interface SamplingMetadata { samplingRate: number; preflightEstimates?: { score1Count: number; score2Count: number; estimatedMatchedCount: number; }; adaptiveFinal?: { usedFinal: boolean; reason: string; }; } interface SamplingDetailsHoverCardProps { samplingMetadata: SamplingMetadata; mode?: "single" | "two"; showLabel?: boolean; } export function SamplingDetailsHoverCard({ samplingMetadata, mode = "two", showLabel = false, }: SamplingDetailsHoverCardProps) { return (

{mode === "single" ? "Estimated Score Count" : "Estimated Scores"}

{mode === "single" ? (
Total Scores:
~ {samplingMetadata.preflightEstimates?.score1Count.toLocaleString()}
) : ( <>
Score 1:
~ {samplingMetadata.preflightEstimates?.score1Count.toLocaleString()}
Score 2:
~ {samplingMetadata.preflightEstimates?.score2Count.toLocaleString()}
Estimated Matches:
~ {samplingMetadata.preflightEstimates?.estimatedMatchedCount.toLocaleString()}
)}

Query Optimizations

Sampling:
{(samplingMetadata.samplingRate * 100).toFixed(1)}% (hash-based)
{samplingMetadata.adaptiveFinal && (
Deduplication:
{samplingMetadata.adaptiveFinal.usedFinal ? "Enabled" : "Skipped for performance"}
)}

Hash-based sampling ensures consistent, repeatable results while maintaining statistical accuracy.

); }