diff --git a/src/pages/BillDetailPage.tsx b/src/pages/BillDetailPage.tsx index 032d20c..9fa6332 100644 --- a/src/pages/BillDetailPage.tsx +++ b/src/pages/BillDetailPage.tsx @@ -1,11 +1,10 @@ -import { useState, useEffect, useCallback } from "react"; +import { useState, useEffect, useCallback, type ReactNode } from "react"; import { useParams, useNavigate } from "react-router-dom"; import { supabase } from "@/integrations/supabase/client"; import { useToast } from "@/hooks/use-toast"; import { useAuth } from "@/contexts/AuthContext"; import { - ArrowLeft, Building2, CreditCard, Calendar, DollarSign, - FileText, Download, ChevronLeft, ChevronRight, Send, Save, Plus, + ArrowLeft, FileText, Download, Send, Save, Plus, CheckCircle, XCircle, Trash2, Clock } from "lucide-react"; import { Button } from "@/components/ui/button"; @@ -13,7 +12,6 @@ import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"; -import { Separator } from "@/components/ui/separator"; import BillApprovalRequestDialog from "@/components/BillApprovalRequestDialog"; import ChartOfAccountsDropdown from "@/components/ChartOfAccountsDropdown.jsx"; @@ -332,74 +330,85 @@ export default function BillDetailPage({ boardAssociationIds }: { boardAssociati const lineItems = editableLineItems; const canEditLineItems = !isBoardView && !!bill.source_invoice_id; + const money = (n: any) => `$${Number(n || 0).toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`; + const cap = (s: string) => (s ? s.charAt(0).toUpperCase() + s.slice(1).replace("_", " ") : "—"); + const remaining = Number(bill.amount || 0) - Number(bill.amount_paid || 0); + const lineTotal = lineItems.reduce((s: number, li: any) => s + Number(li.amount ?? li.unit_price ?? 0), 0); + const Lbl = ({ children }: { children: ReactNode }) => ( +
ID: {bill.id}
++ Bill · {money(bill.amount)} · Due {bill.due_date || "—"} +
{bill.associations?.name || "—"}
-+
Vendor
-{vendorName}
-Total Amount
-
-
Due Date
-
-
Invoice #
-{bill.invoice_number}
-Description
-{bill.description}
-No comments yet.
)} @@ -588,22 +558,32 @@ export default function BillDetailPage({ boardAssociationIds }: { boardAssociati{money(remaining)}
+ {Number(bill.amount_paid || 0) > 0 && ( ++ {money(bill.amount_paid)} paid of {money(bill.amount)} +
+ )} +{a.notes}
} +