import type { CandidateDelta } from "../hooks/useImpactDeltas"; interface ImpactDeltaBadgeProps { delta: CandidateDelta | undefined; type: "weight" | "price"; formatFn: (value: number) => string; } export function ImpactDeltaBadge({ delta, type, formatFn, }: ImpactDeltaBadgeProps) { if (!delta || delta.mode === "none") return null; const value = type === "weight" ? delta.weightDelta : delta.priceDelta; if (value === null) { return ; } if (value === 0) { return ±0; } if (value > 0) { return ( +{formatFn(value)} {delta.mode === "add" && ( (add) )} ); } // value < 0 return {formatFn(value)}; }