Artikelformular: Typ und Verwaltung als Auswahlliste

Zwei Umschalter mit zusammen fuenf Knoepfen beanspruchten zwei volle Zeilen im
Formular - der dreifache ("Menge je Lagerort / Einzelstuecke /
Verbrauchsgegenstand") brauchte dafuer sogar eine eigene Umbruch-Regel. Als
Auswahllisten stehen sie kompakt untereinander und sehen aus wie die
Kategorie-Auswahl direkt dazwischen.

Am Verhalten aendert sich nichts: changeModus und setObjMode bekommen denselben
Wert, nur aus onChange statt onClick.

.seg-wrap wird dadurch nirgends mehr gebraucht und faellt weg. .segmented und
.seg-label bleiben - die nutzen Mindestbestaende, Produkte und Kategorien
weiterhin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-22 14:16:01 +02:00
co-authored by Claude Opus 5
parent a3fd9819c4
commit 1553e36b78
2 changed files with 15 additions and 24 deletions
+13 -20
View File
@@ -741,18 +741,13 @@ export default function ProductForm() {
{/* Typ und Kategorie an fester Position – VOR den typ-spezifischen
Feldern, damit der Umschalter nicht je nach Auswahl springt. */}
<div className="row">
<label className="seg-label">
<label style={{ maxWidth: 240 }}>
Typ
<div className="segmented">
<button type="button" className={modus === "food" ? "active" : ""}
onClick={() => changeModus("food")} disabled={readOnly}>
Lebensmittel
</button>
<button type="button" className={modus === "object" ? "active" : ""}
onClick={() => changeModus("object")} disabled={readOnly}>
Gegenstand
</button>
</div>
<select value={modus} disabled={readOnly}
onChange={(e) => changeModus(e.target.value)}>
<option value="food">Lebensmittel</option>
<option value="object">Gegenstand</option>
</select>
</label>
</div>
<div className="row">
@@ -812,16 +807,14 @@ export default function ProductForm() {
Verbrauchsgegenstand (= wie ein Lebensmittel als Charge geführt). */}
{isObject && (
<div className="row">
<label className="grow seg-label">
<label style={{ maxWidth: 320 }}>
Verwaltung
<div className="segmented seg-wrap">
<button type="button" className={objMode === "count" ? "active" : ""}
onClick={() => setObjMode("count")} disabled={readOnly}>Menge je Lagerort</button>
<button type="button" className={objMode === "individual" ? "active" : ""}
onClick={() => setObjMode("individual")} disabled={readOnly}>Einzelstücke</button>
<button type="button" className={objMode === "bulk" ? "active" : ""}
onClick={() => setObjMode("bulk")} disabled={readOnly}>Verbrauchsgegenstand</button>
</div>
<select value={objMode} disabled={readOnly}
onChange={(e) => setObjMode(e.target.value)}>
<option value="count">Menge je Lagerort</option>
<option value="individual">Einzelstücke</option>
<option value="bulk">Verbrauchsgegenstand</option>
</select>
</label>
</div>
)}