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 (