diff --git a/src/app/admin/finance-management/page.tsx b/src/app/admin/finance-management/page.tsx index 9d6f73d..96d72ae 100644 --- a/src/app/admin/finance-management/page.tsx +++ b/src/app/admin/finance-management/page.tsx @@ -278,6 +278,7 @@ export default function FinanceManagementPage() { Invoice Customer Issued + Due Date Amount Status Actions @@ -286,12 +287,12 @@ export default function FinanceManagementPage() { {invLoading ? ( <> -
-
+
+
) : filteredBills.length === 0 ? ( - + Keine Rechnungen gefunden. @@ -301,6 +302,24 @@ export default function FinanceManagementPage() { {inv.invoice_number ?? inv.id} {inv.buyer_name ?? '—'} {inv.issued_at ? new Date(inv.issued_at).toLocaleDateString() : '—'} + + {(() => { + if (!inv.due_at) return + const due = new Date(inv.due_at) + const now = new Date() + const diffDays = Math.ceil((due.getTime() - now.getTime()) / (1000 * 60 * 60 * 24)) + let cls = 'bg-green-100 text-green-700' // plenty of time + if (inv.status === 'paid') cls = 'bg-green-100 text-green-700' + else if (diffDays < 0) cls = 'bg-red-100 text-red-700' + else if (diffDays <= 3) cls = 'bg-red-100 text-red-700' + else if (diffDays <= 7) cls = 'bg-amber-100 text-amber-700' + return ( + + {due.toLocaleDateString()} + + ) + })()} + €{Number(inv.total_gross ?? 0).toFixed(2)}{' '} {inv.currency ?? 'EUR'}