2 Commits

Author SHA1 Message Date
f074d53f3d Phase B+1: Bootstrap-Splash + Logout im Drawer
- AuthBootstrapping als neuer Initial-State im AuthBloc. Beim Cold-Start
  bleibt die App im Splash, bis restoreSession entweder Authenticated
  oder Unauthenticated emittiert — kein sichtbarer LoginPage-Flash mehr
  für Nutzer mit gespeicherter Session.
- LoginEnforcer rendert für AuthBootstrapping ein eigenes Splash-Widget
  mit Logo + Spinner, für Unauthenticated weiterhin die LoginPage.
- AuthBloc._handleRestore emittiert Unauthenticated explizit, wenn
  restoreSession false liefert oder wirft — sonst bliebe der Bootstrap-
  State hängen.
- HomeAppDrawer zeigt jetzt displayName + Personalnummer aus dem
  Authenticated-State im Header und bekommt einen Abmelden-Eintrag
  unten (rot, Confirm-Dialog), der LogoutRequested feuert. Der
  Provider löscht den Refresh-Token aus der Secure Storage und der
  LoginEnforcer routet automatisch zurück auf die LoginPage.
2026-05-15 11:21:57 +02:00
456fb59668 Phasenbasierte Lieferübersicht + Beladen-Flow, plus Migrationsplan für Rust-Backend
UI-Restructuring:
- TabBar in scan_page durch dedizierte Phasen ersetzt: Sortieren / Beladen / Ausliefern
- PhaseBloc + PhaseService leiten Phase aus Tour-/Item-States ab
- DeliverySelectionPage (ab 2 Autos) und DeliverySortPage als eigene Flows
- LoadingOverviewPage / LoadingCustomerPage für die Beladephase
- PhaseStepper-Widget im Home für Phasen-Anzeige
- Lager-Differenzierung (Standardlager 0 vs. Außenlager) via WarehouseBadge

Process-Stubs:
- ProcessRepository für Hold/Cancel/Sort/Assign-Flows (stub, bereit für Backend-Anbindung)

Doku:
- docs/BACKEND_MIGRATION.md: Phasenplan für Umstellung auf das neue
  Rust-Backend (OpenAPI-Generator, Keycloak OIDC, Clean-Arch-Layering)
2026-05-14 22:27:56 +02:00