import { cn, fmt } from '@/lib/utils'; import { paymentSummary } from '@/lib/trackerUtils'; export function PaymentProgress({ row, threshold, onOpen, onMarkFullAmount, compact = false, className }) { const summary = paymentSummary(row, threshold); const barTone = summary.remaining === 0 ? 'bg-emerald-500' : summary.paid > 0 ? 'bg-amber-500' : 'bg-muted-foreground/40'; const amountLabel = (() => { if (summary.paid === 0) return '—'; if (summary.overpaid > 0) return `${fmt(summary.paid)} · overpaid`; if (summary.remaining > 0) return `${fmt(summary.paidTowardDue)} paid`; return fmt(summary.paidTowardDue); })(); const showQuickFix = onMarkFullAmount && summary.partial && summary.paid > 0; return (