From 52ff0a6ffa8342cc9210f5afe988b573a31eb368 Mon Sep 17 00:00:00 2001 From: BOHA Date: Tue, 9 Jun 2026 18:52:34 +0200 Subject: [PATCH] feat(drafts): show Koncept for null numbers in lists + fix filtered empty-state Co-Authored-By: Claude Opus 4.8 (1M context) --- src/admin/pages/Invoices.tsx | 3 ++- src/admin/pages/IssuedOrders.tsx | 3 ++- src/admin/pages/Offers.tsx | 14 +++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/admin/pages/Invoices.tsx b/src/admin/pages/Invoices.tsx index 5226644..71a3435 100644 --- a/src/admin/pages/Invoices.tsx +++ b/src/admin/pages/Invoices.tsx @@ -49,6 +49,7 @@ import { statusLabel, statusColor, statusOptions, + documentNumberLabel, } from "../lib/documentStatus"; const ReceivedInvoices = lazy(() => import("./ReceivedInvoices")); @@ -517,7 +518,7 @@ export default function Invoices() { "&:hover": { textDecoration: "underline" }, }} > - {inv.invoice_number} + {documentNumberLabel(inv.invoice_number)} ), }, diff --git a/src/admin/pages/IssuedOrders.tsx b/src/admin/pages/IssuedOrders.tsx index 1d5dceb..82e0117 100644 --- a/src/admin/pages/IssuedOrders.tsx +++ b/src/admin/pages/IssuedOrders.tsx @@ -33,6 +33,7 @@ import { statusLabel, statusColor, statusOptions, + documentNumberLabel, } from "../lib/documentStatus"; const API_BASE = "/api/admin"; @@ -206,7 +207,7 @@ export default function IssuedOrders({ month, year }: IssuedOrdersProps) { "&:hover": { textDecoration: "underline" }, }} > - {o.po_number || "—"} + {documentNumberLabel(o.po_number)} ), }, diff --git a/src/admin/pages/Offers.tsx b/src/admin/pages/Offers.tsx index 3c5d417..0d9170c 100644 --- a/src/admin/pages/Offers.tsx +++ b/src/admin/pages/Offers.tsx @@ -46,6 +46,7 @@ import { statusLabel, statusColor, statusOptions, + documentNumberLabel, } from "../lib/documentStatus"; const API_BASE = "/api/admin"; @@ -543,6 +544,10 @@ export default function Offers() { label: f.label, })); + // Search/status filter is active → an empty list means "nothing matches" + // (no create CTA); a genuinely empty list keeps the create-CTA empty state. + const isFiltered = !!debouncedSearch || !!statusFilter; + const columns: DataColumn[] = [ { key: "quotation_number", @@ -559,7 +564,7 @@ export default function Offers() { "&:hover": { textDecoration: "underline" }, }} > - {q.quotation_number} + {documentNumberLabel(q.quotation_number)} ), }, @@ -851,8 +856,11 @@ export default function Offers() { sortDir={order} onSort={handleSort} empty={ - debouncedSearch ? ( - + isFiltered ? ( + ) : (