diff --git a/web/src/pages/ProductForm.jsx b/web/src/pages/ProductForm.jsx
index f7d5379..84b91db 100644
--- a/web/src/pages/ProductForm.jsx
+++ b/web/src/pages/ProductForm.jsx
@@ -205,10 +205,8 @@ export default function ProductForm() {
{isNew ? "Neues Produkt" : form.name || "Produkt"}
{!isNew && product && (
- Bestand:{" "}
- {product.package_size
- ? `${fmt(product.stock / product.package_size)} Pkg · ${fmt(product.stock / (product.unit_factor || 1))} ${product.unit_name}`
- : `${fmt(product.stock / (product.unit_factor || 1))} ${product.unit_name}`}
+ Bestand: {fmt(product.stock / (product.unit_factor || 1))} {product.unit_name}
+ {product.package_size ? ` · ${fmt(product.stock / product.package_size)} Pkg` : ""}
)}
@@ -317,14 +315,16 @@ function LotsCard({ product, lots, baseShort, warnDays, isAdmin, imageUrl, onCha
const unitName = product?.unit_name || baseShort;
const pkgSize = product?.package_size || 0;
- // Maßgebliche Einheit: Packung, sobald eine Packungsgröße hinterlegt ist –
- // sonst die Produkteinheit. Die Basiseinheit ist nur die Untermenge.
- const primaryFactor = pkgSize > 0 ? pkgSize : unitFactor;
- const primaryLabel = pkgSize > 0 ? "Pkg" : unitName;
+ // Maßgeblich ist die im Produkt festgelegte Einheit.
+ const primaryFactor = unitFactor;
+ const primaryLabel = unitName;
- // Untermenge: Menge in der Basiseinheit (nur wenn sie sich unterscheidet).
+ // Untermengen: Basiseinheit (falls abweichend) und Packungen (falls hinterlegt).
function secondary(qty) {
- return primaryFactor !== 1 ? `${fmt(qty)} ${baseShort}` : "";
+ const parts = [];
+ if (unitFactor !== 1) parts.push(`${fmt(qty)} ${baseShort}`);
+ if (pkgSize > 0) parts.push(`${fmt(qty / pkgSize)} Pkg`);
+ return parts.join(" · ");
}
function startEdit(l) {
@@ -432,7 +432,7 @@ function LotsCard({ product, lots, baseShort, warnDays, isAdmin, imageUrl, onCha
- Mengen in {pkgSize > 0 ? "Packungen" : unitName}
+ Mengen in {unitName}
{pkgSize > 0 ? ` (1 Packung = ${fmt(pkgSize)} ${baseShort})` : ""}.