Session- und Prize-Lifecycle¶
Stand: 2026-03-25
Ziel¶
Die aktuellen Session-, Prize- und verwandten Archivflaechen folgen denselben sichtbaren Zustandsmustern:
Loading: Skeleton oder Platzhalter, solange noch kein erfolgreiches Snapshot vorliegtBlocking error: klarer Fehlerzustand mit Refresh-Aktion, wenn noch kein nutzbarer Snapshot vorhanden istStale warning: letzter erfolgreicher Snapshot bleibt sichtbar, waehrend ein Refresh fehlgeschlagen istEmpty: eigener Leerzustand fuer echte Leere oder filterbedingte LeereDetail not found: ein angeforderter Detailpfad zeigt einen expliziten Not-Found-Zustand statt still leer zu bleiben
Geltungsbereich¶
Die vereinheitlichten Muster gelten aktuell fuer:
PrizeShootingCategorySessionsPageDashboardSessionYouthDashboard
Aktuelle Regeln¶
PrizeShooting¶
- Event-Historie und eigene Prize-Sessions halten jeweils den letzten erfolgreichen Snapshot
- Fehler in der Event-Historie blockieren nur dann voll, wenn noch kein Snapshot vorhanden ist
- Fehler im eigenen Session-Archiv blockieren nur den Archivblock, nicht die gesamte Prize-Seite
- Suchleere und echte Leere sind getrennte Zustaende
CategorySessionsPage¶
- Alle Kategoriearchive (
Training,Wettkampf,Preisschiessen) halten den letzten erfolgreichen Snapshot - Fehler ohne Snapshot zeigen einen blocking error
- Fehler mit Snapshot zeigen einen stale warning ueber dem Archiv
- Leere durch Suche und echte Leere haben eigene Copy und eigene Reset-/Refresh-Aktionen
DashboardSession¶
- Ein fehlender Dashboard-Snapshot zeigt einen blocking error
- Eine nicht mehr auffindbare Session innerhalb eines vorhandenen Snapshots zeigt einen eigenen Not-Found-Zustand
- Partielle Sessionaufnahmen bleiben sichtbar und werden ueber die Partial-Warnung ausgezeichnet
YouthDashboard¶
- Das Jugend-Dashboard behaelt den letzten erfolgreichen Snapshot bei Refresh-Fehlern
- Ein fehlender Snapshot zeigt einen blocking error
- Leere Trainer-/Klassenfilter zeigen einen eigenen Empty-State
Gemeinsame Bausteine¶
SessionSurfaceStaterendert die eigentliche inhaltliche ZustandsflaecheSessionSurfaceFeedbackkapselt die Card-Huelle fuer blocking, stale und empty statesdashboardSessionModelenthaelt gemeinsame Session-Helfer fuer Kategorie-, Treffer-, Teiler- und Timestamp-Aufloesung
Offene Grenzen¶
- Die Datenvertraege fuer Prize-/Event-Lifecycle werden weiterhin vom bestehenden Backend geliefert und hier nur UI-seitig vereinheitlicht
- Ein groesserer Event-/Prize-Backend-Refactor ist bewusst nicht vorweggenommen