X11 — Offline režim
Účel obrazovky
Není samostatná obrazovka — persistentní banner/overlay zobrazený při odpojení zařízení od internetu. Umožňuje prohlížet cacheovaná data a P7 — Wallet (QR kódy vstupenek), zatímco nákup a vyhledávání jsou nedostupné.
Content Priority
- Sticky banner — horní část viewportu: „Jste offline — zobrazujeme uložená data" Offline Banner
- Dostupné akce — prohlížení cacheovaného obsahu, zobrazení QR kódů vstupenek v P7 — Wallet
- Nedostupné akce — vyhledávání, nákup, aktualizace dat (pull-to-refresh)
Offline datový model — checklist
Vždy cacheovat (dostupné offline)
| Entita | Poznámka |
|---|---|
| Wallet | QR čárové kódy vstupenek |
| Uživatelský profil | Základní údaje účtu |
| Detail akce | Posledních 20 načtených detailů akcí |
| Feed (domovský) | Cache s TTL 1 h |
| Obrázky | LRU cache, max cca 200 MB |
Nikdy necacheovat (vyžadují síť)
| Oblast | Důvod |
|---|---|
| Vyhledávání | Živá data, relevance |
| Seat map | Aktuální dostupnost sedadel |
| Checkout / platba | Bezpečnost a konzistence transakce |
TTL a platnost cache
| Entita | TTL / platnost |
|---|---|
| Feed | 1 h — po expiraci při offline zobrazit poslední známý stav + banner |
| Detail akce | 4 h — po expiraci omezený režim nebo „vyžaduje připojení“ |
| Wallet (QR) | Trvalá lokální cache; po konci akce ponechat ještě 30 dní (archiv / reklamace), poté smazat dle politiky |
Interakce
| Trigger | Akce |
|---|---|
| Zařízení přejde do offline | Banner se zobrazí nad aktuální obrazovkou |
| Zařízení se připojí zpět | Banner zmizí, toast „Zpět online" |
| Uživatel v offline režimu | Může navigovat po cacheovaných obrazovkách, zobrazit QR ve walletu |
Stavy
| Stav | Popis |
|---|---|
| Plně offline | Banner zobrazen, zobrazována cacheovaná data |
| Intermittent | Banner bliká při přepínání online/offline |
| Zpět online | Banner zmizí, krátký toast potvrzení |
Edge Cases
| Scénář | Řešení |
|---|---|
| Žádná cacheovaná data | Fullscreen obrazovka „Připojte se k internetu" s retry tlačítkem |
| Offline během checkoutu | Zvláštní handling — košík uložen lokálně, při návratu online možnost pokračovat |
| Uživatel v P8 (vyhledávání) offline | Prázdný stav „Bez připojení nemůžete vyhledávat" + CTA zkusit znovu |
Mobilní patterny
- Sledování síťové dosažitelnosti — iOS
NWPathMonitor, AndroidConnectivityManager - Banner nepřekrývá klíčový obsah — sticky pod header, možné scrollovat
- Při návratu online — krátký feedback (toast), ne rušivý modal