Migrate frontend navigation to V3: archive Navigation V2, implement updated screen-tree and back-stack rules, and adapt documentation for startable MVP flow.
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
---
|
||||
type: Frontend
|
||||
status: ARCHIVED
|
||||
owner: 🎨 Frontend Expert & 🧹 Curator
|
||||
archived_at: 2026-04-02
|
||||
moved_from: docs/06_Frontend/Navigation_V2_Screen-Baum_und_Back-Stack.md
|
||||
deprecated_by: docs/06_Frontend/Navigation_V3_Screen-Baum_und_Back-Stack.md
|
||||
sources:
|
||||
- docs/99_Journal/2026-04-01_Session_Log_BackStack_Navigation.md
|
||||
- docs/02_Guides/Event-First-Workflow.md
|
||||
---
|
||||
|
||||
# Navigation V2 — Screen‑Baum & Back‑Stack‑Regeln (archiviert)
|
||||
|
||||
ACHTUNG: Dieses Dokument beschreibt eine ältere Fassung mit Ping/SystemStatus und Login‑Flow. Die jetzt gültige, startfähige Fassung ist „V3“:
|
||||
|
||||
- Aktuelle Version: `docs/06_Frontend/Navigation_V3_Screen-Baum_und_Back-Stack.md`
|
||||
- Dieses V2‑Dokument bleibt als Referenz im Archiv bestehen.
|
||||
|
||||
---
|
||||
|
||||
## 1. Screen‑Baum (Routen)
|
||||
|
||||
- AppRoot
|
||||
- Landing
|
||||
- SystemStatus (Ping, Verbindungen)
|
||||
- Login(returnTo?)
|
||||
- MainShell (nach Login)
|
||||
- Dashboard
|
||||
- Veranstaltungen
|
||||
- Veranstaltung.Detail(eventId)
|
||||
- Turnier.Detail(tournamentId)
|
||||
- Bewerb.Detail(contestId)
|
||||
- Abteilung.Detail(divisionId)
|
||||
- Startliste(divisionId)
|
||||
- Kassa.Turnier(tournamentId)
|
||||
- Kassa.Veranstaltung(eventId)
|
||||
- Suche (global)
|
||||
- Einstellungen
|
||||
|
||||
Hinweise:
|
||||
- Die Struktur folgt dem Event‑First‑Workflow (→ Guide). Abteilung ist die kleinste ausführbare Einheit.
|
||||
- Separate Kassa‑Screens für Turnier und Veranstaltung (→ Ubiquitous Language: Veranstaltungs‑Kassa, Turnierkassa).
|
||||
|
||||
---
|
||||
|
||||
## 2. Navigations‑Konventionen
|
||||
|
||||
- Route IDs: Verwende stabile, serialisierbare IDs (`eventId`, `tournamentId`, `contestId`, `divisionId`). Kopfnummern sind keine stabilen IDs.
|
||||
- SingleTop für Haupt‑Tabs (Dashboard, Veranstaltungen, Suche, Einstellungen): erneuter Klick bringt zum Tab‑Root und ersetzt nicht den Stack.
|
||||
- Detail‑Drilldown ist hierarchisch (Parent → Child). Zurück führt jeweils eine Ebene hoch.
|
||||
- Deep Links: `app://event/{eventId}/tournament/{tId}/contest/{cId}/division/{dId}` öffnen direkt die Abteilung; Eltern werden als „synthetische“ Back‑Kette aufgebaut.
|
||||
|
||||
---
|
||||
|
||||
## 3. Back‑Stack‑Regeln
|
||||
|
||||
1) Logout
|
||||
- Poppt den gesamten MainShell‑Stack und landet auf Landing → Login.
|
||||
|
||||
2) Wechsel Tab → Tab
|
||||
- Jeder Tab hat eigenen Stack. Wechsel zwischen Tabs speichert den jeweiligen Stack (SingleTask je Tab).
|
||||
|
||||
3) Navigieren innerhalb „Veranstaltungen“
|
||||
- Veranstaltungen (Liste) → Veranstaltung.Detail → Turnier.Detail → Bewerb.Detail → Abteilung.Detail → Startliste.
|
||||
- Back springt exakt eine Ebene zurück; beim Verlassen von Startliste zurück zur Abteilung.
|
||||
|
||||
4) Öffnen Kassa
|
||||
- Von Turnier.Detail zu Kassa.Turnier: Push auf Stack.
|
||||
- Von Veranstaltung.Detail zu Kassa.Veranstaltung: Push auf Stack.
|
||||
- Back kehrt zur jeweiligen Detailseite zurück.
|
||||
|
||||
5) Override‑Dialoge (Regelwerk)
|
||||
- Modal/Sheet, kein eigener Stack‑Eintrag. Schließen kehrt zum aktuellen Screen zurück. Override‑Events werden protokolliert.
|
||||
|
||||
---
|
||||
|
||||
## 4. Zustandsmanagement
|
||||
|
||||
- Screens sind UDF/MVVM‑kompatibel (Details in eigener Doku; Verweis aus Sprint B).
|
||||
- Navigation‑State hält `returnTo` für Login‑Flüsse (z. B. Deep Link → Login → zurück zum Ziel).
|
||||
|
||||
---
|
||||
|
||||
## 5. Edge‑Cases & Tests
|
||||
|
||||
- Abteilungswechsel: Beim Wechsel der Abteilung innerhalb eines Bewerbs bleibt der Stack auf Bewerb‑Ebene erhalten; nur das Abteilung‑Detail wird ersetzt.
|
||||
- Datenverlust vermeiden: Vor Navigation prüfen, ob ungespeicherte Änderungen vorliegen (z. B. Kassa‑Buchung), ggf. Confirm‑Dialog.
|
||||
|
||||
---
|
||||
|
||||
## 6. Querverweise
|
||||
|
||||
- Back‑Stack Session Log: `docs/99_Journal/2026-04-01_Session_Log_BackStack_Navigation.md`
|
||||
- Event‑First‑Workflow: `docs/02_Guides/Event-First-Workflow.md`
|
||||
- Begriffe: `docs/03_Domain/01_Glossary/Ubiquitous_Language.md`
|
||||
Reference in New Issue
Block a user