diff --git a/web/src/pages/ProductForm.jsx b/web/src/pages/ProductForm.jsx index d01d767..9253a9f 100644 --- a/web/src/pages/ProductForm.jsx +++ b/web/src/pages/ProductForm.jsx @@ -206,6 +206,7 @@ export default function ProductForm() { {!isNew && product && (
Bestand: {fmt(product.stock / (product.unit_factor || 1))} {product.unit_name} + {product.package_size ? ` · ${fmt(product.stock / product.package_size)} Pkg` : ""}
)} @@ -287,7 +288,7 @@ export default function ProductForm() { {!isNew && ( 0) parts.push(`${fmt(qty / pkgSize)} Pkg`); + return parts.join(" · "); + } + function startEdit(l) { setEditId(l.id); - setDraft({ quantity: l.quantity, best_before: l.best_before || "" }); + setDraft({ quantity: l.quantity / factor, best_before: l.best_before || "" }); } async function saveEdit(l) { try { await api.updateLot(l.id, { - quantity: Number(draft.quantity), + quantity: Number(draft.quantity) * factor, best_before: draft.best_before || null, }); setEditId(null); @@ -361,11 +373,19 @@ function LotsCard({ productId, lots, baseShort, warnDays, isAdmin, imageUrl, onC {editing ? ( - setDraft({ ...draft, quantity: e.target.value })} - style={{ maxWidth: 100, marginTop: 0 }} /> +
+ setDraft({ ...draft, quantity: e.target.value })} + style={{ maxWidth: 90, marginTop: 0 }} /> + {unitName} +
) : ( - <>{fmt(l.quantity)} {baseShort} + <> + {fmt(l.quantity / factor)} {unitName} + {secondary(l.quantity) && ( +
{secondary(l.quantity)}
+ )} + )} @@ -406,7 +426,10 @@ function LotsCard({ productId, lots, baseShort, warnDays, isAdmin, imageUrl, onC -

Mengen sind in der Basiseinheit ({baseShort}) angegeben.

+

+ Mengen in {unitName} + {pkgSize > 0 ? `; 1 Packung = ${fmt(pkgSize)} ${baseShort}` : ""}. +

); }