diff --git a/web/src/components/BarcodeList.jsx b/web/src/components/BarcodeList.jsx
index 72cb96c..2ebe66d 100644
--- a/web/src/components/BarcodeList.jsx
+++ b/web/src/components/BarcodeList.jsx
@@ -11,11 +11,12 @@ import Icon from "./Icon";
*
* onAdd({ code, note }) und onDelete(code) werden vom Aufrufer bereitgestellt.
*/
-/** Innerhalb einer Gruppe unterscheidet die Marke besser als der Name –
- * in der Gruppe "Mehl" heisst jeder Artikel irgendwie "…mehl". Fehlt die
- * Marke, bleibt der Name als Rueckfall. */
+/** Marke und Artikelname zusammen – die Marke allein reichte nicht, um einen
+ * Code wiederzuerkennen ("Zweifel" gibt es mehrfach), der Name allein auch
+ * nicht (in "Mehl" heisst alles irgendwie Mehl). Fehlt eines von beiden,
+ * bleibt das andere stehen. */
function besitzer(b) {
- return b.product_brand || b.product_name || "";
+ return [b.product_brand, b.product_name].filter(Boolean).join(" · ");
}
export default function BarcodeList({
@@ -45,8 +46,7 @@ export default function BarcodeList({
))}
@@ -57,10 +57,7 @@ export default function BarcodeList({
{b.product_name ? (
/* Gehört der Code zu einem Artikel, sagt dessen Marke bereits,
worum es geht – eine Notiz waere hier nur Dopplung. */
- <>
- Artikel
- {besitzer(b)}
- >
+ {besitzer(b)}
) : (
/* Codes ohne Artikel haben keine Marke. Hier ist die Notiz die
einzige Angabe, woran man den Code wiedererkennt. */
diff --git a/web/src/pages/Groups.jsx b/web/src/pages/Groups.jsx
index 3b99fc0..fed1ac5 100644
--- a/web/src/pages/Groups.jsx
+++ b/web/src/pages/Groups.jsx
@@ -105,14 +105,16 @@ export default function Groups() {
return (
- {isAdmin ? (
- {
- const v = e.target.value.trim();
- if (v && v !== g.name) patch(g, { name: v });
- }} />
- ) : {g.name}}
- {low && niedrig}
+
+ {isAdmin ? (
+ {
+ const v = e.target.value.trim();
+ if (v && v !== g.name) patch(g, { name: v });
+ }} />
+ ) : {g.name}}
+ {low && niedrig}
+
{g.product_count}
{fmt(g.stock)} {g.min_stock_unit_name || ""}
@@ -173,10 +175,10 @@ export default function Groups() {
barcodes={selected.barcodes || []}
productBarcodes={selected.product_barcodes || []}
disabled={!isAdmin}
- hint={"Codes der zugeordneten Artikel stehen automatisch hier, gekennzeichnet mit " +
- "„Artikel“ und der Marke; entfernen lassen sie sich nur, indem der Artikel " +
- "die Gruppe wechselt. Zusätzlich sind Codes möglich, die noch zu keinem " +
- "Artikel gehören – für die gibt es eine Notiz, weil ihnen die Marke fehlt. " +
+ hint={"Codes der zugeordneten Artikel stehen automatisch hier, mit Marke und " +
+ "Artikelnamen; entfernen lassen sie sich nur, indem der Artikel die Gruppe " +
+ "wechselt. Zusätzlich sind Codes möglich, die noch zu keinem Artikel " +
+ "gehören – für die gibt es eine Notiz, weil ihnen der Artikelname fehlt. " +
"Wird so ein Code beim Einlagern gescannt, landet der neu angelegte Artikel " +
"automatisch hier."}
onAdd={async (body) => {
diff --git a/web/src/pages/ProductForm.jsx b/web/src/pages/ProductForm.jsx
index 642723e..f67d91e 100644
--- a/web/src/pages/ProductForm.jsx
+++ b/web/src/pages/ProductForm.jsx
@@ -387,28 +387,6 @@ export default function ProductForm() {
{readOnly &&