// components/vendors/FinancialCard.tsx import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Separator } from '@/components/ui/separator' import { Calendar } from 'lucide-react' interface FinancialCardProps { quotedPrice?: number | null finalCost?: number | null depositPaid?: number | null depositDueDate?: Date | null finalPaymentDue?: Date | null paymentNotes?: string | null } const formatCurrency = (amount?: number | null): string => { if (!amount) return '—' return new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }).format(amount) } const formatDate = (date?: Date | null): string => { if (!date) return '—' return new Date(date).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric', }) } export function FinancialCard({ quotedPrice, finalCost, depositPaid, depositDueDate, finalPaymentDue, paymentNotes, }: FinancialCardProps) { return ( Financial Information

Quoted Price

{formatCurrency(quotedPrice)}

Final Cost

{formatCurrency(finalCost)}

Deposit Paid

{formatCurrency(depositPaid)}

{(depositDueDate || finalPaymentDue) && ( <>
{depositDueDate && (

Deposit Due Date

{formatDate(depositDueDate)}

)} {finalPaymentDue && (

Final Payment Due

{formatDate(finalPaymentDue)}

)}
)} {paymentNotes && ( <>

Payment Notes

{paymentNotes}

)}
) }