diff --git a/web/src/pages/Products.jsx b/web/src/pages/Products.jsx index be46fe9..8a91c00 100644 --- a/web/src/pages/Products.jsx +++ b/web/src/pages/Products.jsx @@ -32,6 +32,12 @@ function fmtDateTime(iso) { day: "2-digit", month: "2-digit", year: "numeric", hour: "2-digit", minute: "2-digit", }); } +// Verwaltungsart eines Gegenstands (nur für die Gegenstände-Liste sinnvoll). +function verwaltungLabel(p) { + if (p.individual) return "Einzelstücke"; + if (p.bulk) return "Verbrauchsgegenstand"; + return "Menge je Lagerort"; +} export default function Products({ fixedType = null }) { const { isAdmin } = useAuth(); @@ -80,6 +86,12 @@ export default function Products({ fixedType = null }) { filterOptionLabel: (v) => (v === "" ? "(Leere)" : ), sortValue: (p) => catInfo.get(p.category_id)?.path || p.category_name || "", render: (p) => }, + // Nur in der Gegenstände-Liste: Menge je Lagerort / Einzelstücke / Verbrauchsgegenstand. + activeTyp === "object" && { key: "verwaltung", header: "Verwaltung", label: "Verwaltung", width: 190, + filterText: (p) => verwaltungLabel(p), + filterValues: (p) => [verwaltungLabel(p)], + sortValue: (p) => verwaltungLabel(p), + render: (p) => {verwaltungLabel(p)} }, { key: "unit", header: "Einheit", width: 200, filterText: einheitText, render: einheitText }, { key: "stock", header: "Bestand", width: 130, align: "num", @@ -106,7 +118,7 @@ export default function Products({ fixedType = null }) { render: (p) => {fmtDateTime(p.updated_at)} }, { key: "details", header: "", label: "Details", fixed: true, width: 84, align: "num", render: (p) => Details }, - ]; + ].filter(Boolean); return (