Skip to content

inventory: zentraler Bestand (Phase 2 MVP) — Lager-Ansicht + CRUD#571

Merged
larszu merged 1 commit into
mainfrom
claude/inventory-phase2-central-stock
Jun 16, 2026
Merged

inventory: zentraler Bestand (Phase 2 MVP) — Lager-Ansicht + CRUD#571
larszu merged 1 commit into
mainfrom
claude/inventory-phase2-central-stock

Conversation

@larszu

@larszu larszu commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Phase 2 — Zentraler Bestand (MVP)

Setzt Phase 2 aus docs/inventory-rental-readiness.md um: die projektübergreifende Bestands-Achse, die bisher komplett fehlte. Plan-unabhängiger Lager-Bestand mit eigener Ansicht.

Was drin ist

  • inventoryStore (neu) — persistiert in localStorage (cable-planner:inventory), gleiche Strategie wie ui/settings/library. CRUD über items[]: Modell · Hersteller · Kategorie · Menge · Mietpreis/Tag · Lagerort · Lieferant · Eigentum · Notiz. Heal/Validierung beim Laden.
  • InventoryDialog (neu) — plan-unabhängige „Lager"-Ansicht: Tabelle + Suche + Inline-Add/Edit-Formular + Löschen mit Bestätigung. Erreichbar über Werkzeuge → Lager / Bestand…, gated durchs rental-Modul.
  • Seed „Aus Plan übernehmen" — gruppiert das Equipment des aktuellen Plans (Name + Kategorie → Menge) und legt je Gruppe einen Artikel an, ohne vorhandene Artikel zu duplizieren (hebt nur die Menge an).
  • types/inventory.ts, STORAGE_KEYS.inventory, uiStore openInventory/closeInventory, EN-i18n (+ common.edit).

Bewusste MVP-Abgrenzung (Folge-Arbeit)

  • Persistenz: localStorage statt inventory:* IPC + JSON-DB — funktioniert in Web und Desktop. Migration auf eine IPC-DB ist möglich, ohne die Consumer zu ändern (sie reden nur mit dem Store).
  • Seed-Quelle: aktueller Plan statt Rentman-Katalog. Plan-Seed ist immer verfügbar; ein Rentman-Seed kann denselben seedFromEquipment-Pfad wiederverwenden.
  • units[] / allocations[] / movements[] + Plan↔Bestand-Verknüpfung bleiben Phase 3+.

Checks

  • npx tsc -p tsconfig.app.json --noEmit → 0 Errors
  • eslint über die geänderten Dateien → 0 Errors (1 pre-existing Warning in App.tsx, unverändert)

Generated by Claude Code

- neuer inventoryStore (localStorage cable-planner:inventory) mit
  items[]-CRUD: Modell/Hersteller/Kategorie/Menge/Mietpreis/Lagerort/
  Lieferant/Eigentum/Notiz + Heal beim Laden
- InventoryDialog: plan-unabhängige Lager-Ansicht (Tabelle + Suche +
  Inline-Add/Edit-Formular + Löschen mit Bestätigung)
- Seed "Aus Plan übernehmen": gruppiert Equipment (Name+Kategorie →
  Menge), dedupliziert gegen vorhandene Artikel
- Werkzeuge-Menüeintrag "Lager / Bestand…" (gated durch rental-Modul)
  via uiStore openInventory/closeInventory
- types/inventory.ts, STORAGE_KEYS.inventory, EN-i18n (+ common.edit)
- docs: Phase 2 als MVP-umgesetzt markiert + Scope-Abgrenzung
@larszu larszu marked this pull request as ready for review June 16, 2026 22:27
@larszu larszu merged commit 3a7be4f into main Jun 16, 2026
@larszu larszu deleted the claude/inventory-phase2-central-stock branch June 16, 2026 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants