From a8bce851a94d1a533623472e3a2c78b4fc73125e Mon Sep 17 00:00:00 2001 From: Krao Hasanee Date: Wed, 13 May 2026 12:14:49 -0400 Subject: [PATCH] Rearrange client invoice card layout Line 1: invoice name + issued date / item count Line 2: status badge + overdue flag + price Right: Download PDF button Co-Authored-By: Claude Sonnet 4.6 --- src/pages/client/MyInvoices.jsx | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/pages/client/MyInvoices.jsx b/src/pages/client/MyInvoices.jsx index 557e8ed..52dd15d 100644 --- a/src/pages/client/MyInvoices.jsx +++ b/src/pages/client/MyInvoices.jsx @@ -73,25 +73,24 @@ export default function MyInvoices() { {invoices.map(inv => { const isOverdue = inv.status !== 'paid' && new Date(inv.due_date) < new Date(); return ( -
+
-
{inv.invoice_number}
-
- Issued {new Date(inv.invoice_date).toLocaleDateString()} · Due{' '} - - {new Date(inv.due_date).toLocaleDateString()} +
+ {inv.invoice_number} + + Issued {new Date(inv.invoice_date).toLocaleDateString()} + {inv.items?.length > 0 && ` · ${inv.items.length} item${inv.items.length !== 1 ? 's' : ''}`} - {isOverdue && ' · Overdue'} - {inv.items?.length > 0 && ` · ${inv.items.length} item${inv.items.length !== 1 ? 's' : ''}`} +
+
+ {inv.status} + {isOverdue && Overdue} + ${Number(inv.total).toFixed(2)}
-
- {inv.status} -
${Number(inv.total).toFixed(2)}
- handleDownload(inv)}> - Download PDF - -
+ handleDownload(inv)} style={{ flexShrink: 0 }}> + Download PDF +
); })}