S4 — Přihlášení
Účel obrazovky
Content Priority
- OAuth tlačítka — prominentně nahoře: Apple Sign In, Google, Facebook (full-width, ikona + text) OAuth Button
- Separator — „Nebo se přihlaste emailem" Divider
- Email pole — text input s email keyboard Text Input
- Heslo pole — password input (skrytý text) Password Input
- „Zapamatovat si mě" — toggle/checkbox Checkbox
- „Zapomenuté heslo" — text link Ghost/Text Button
- CTA „Přihlásit se" — primary button Primary Button
- „Nemáte účet? Registrovat se" — secondary CTA, odkaz na S5 — Registrace Ghost/Text Button
- Close / Back — pro late login modal, zavření bez přihlášení Back Button
Interakce
| Trigger | Akce | Cíl |
|---|---|---|
| Tap na OAuth tlačítko | Otevření provider auth (in-app browser / Safari) | Po úspěchu: redirect back, prefilled profil, zavření modalu |
| Tap „Přihlásit se" (email) | Validace email + heslo, API login | Úspěch → zavření, návrat do checkout / profil |
| Tap „Zapomenuté heslo" | Odeslání reset linku na email | Toast „Odkaz odeslán na váš email" |
| Tap „Registrovat se" | Navigace na registraci | S5 — Registrace |
| OAuth zrušeno uživatelem | Zavření auth okna | Návrat na S4, žádná změna |
| Back / Close | Zavření bez přihlášení | Návrat na S2 — Osobní údaje nebo P9 — Účet |
Stavy
| Stav | Popis | Vizuální chování |
|---|---|---|
| Default | Prázdný formulář | OAuth tlačítka aktivní, formulář prázdný |
| OAuth loading | Čeká na redirect od providera | Spinner overlay nebo loading na OAuth tlačítku |
| Login error | Špatné heslo / neplatný email | Inline error „Nesprávné přihlašovací údaje" |
| Account locked | Příliš mnoho pokusů | Error „Účet byl dočasně uzamčen, zkuste za 15 minut" |
| Forgot password sent | Reset link odeslán | Success toast, možnost znovu zkusit přihlášení |
Edge Cases a Error States
| Scénář | Řešení |
|---|---|
| OAuth zrušeno uživatelem | Tiše návrat na S4, žádný error (běžné chování) |
| Email není v systému | „Účet s tímto emailem neexistuje — zaregistrujte se" + link na S5 |
| Příliš mnoho pokusů | Cooldown 15 min, zobrazení zbývajícího času |
| Úspěšné přihlášení poprvé | Nabídka „Povolit Face ID / Touch ID pro rychlé přihlášení" (optional) |
| Biometric login (po prvním) | Pokud povoleno: Face ID/Touch ID jako primární, single-tap přihlášení |
| Offline během OAuth | „Pro přihlášení je třeba připojení k internetu" |
Mobilní patterny a odlišení od webu
Co přebíráme
- OAuth + email/heslo jako fallback
- Zapomenuté heslo flow
- Odkaz na registraci
Co děláme jinak
- OAuth-first layout — Apple, Google, Facebook jako velké tlačítka nahoře (na webu často menší)
- Face ID / Touch ID jako primární — po prvním přihlášení nabídnuto, pak single-tap login
- Native OAuth flow — použít ASWebAuthenticationSession (iOS) / Chrome Custom Tabs (Android) pro plynulý return
- Keyboard type — email klávesnice pro email pole
Aplikované patterny
- iOS:
ASAuthorizationAppleIDButton,ASWebAuthenticationSessionpro OAuth,LAContextpro Face ID / Touch ID - Android:
Credential Managerpro OAuth,BiometricPromptpro biometric login,Custom Tabspro OAuth redirect
API Data
POST/account/loginPOST/account/login-by-providerPOST/account/forgotten-password-preparePOST/account/forgotten-password-finish| Operace | Endpoint | Trigger | Poznámka |
|---|---|---|---|
| Email + heslo login | POST /account/login | Tap „Přihlásit se" | Vrací JWT token |
| OAuth login | POST /account/login-by-provider | Tap OAuth tlačítko | Podporuje Apple, Google, Facebook |
| Zapomenuté heslo (příprava) | POST /account/forgotten-password-prepare | Tap „Zapomenuté heslo" | Odešle reset email |
| Zapomenuté heslo (dokončení) | POST /account/forgotten-password-finish | Deep link z emailu | Nastavení nového hesla |
CoreAPI poznatek
Autentizace je JWT per session (POST /token/create pro anonymní session, POST /account/login pro přihlášení). OAuth provider se předává jako parametr v login-by-provider. Po přihlášení se JWT token používá ve všech dalších API voláních.
Reference — Aktuální web
SCR-WEB-34OAuth — Google, Facebook, Seznam, email/heslo formReference — CineStar benchmark
SCR-CS-13OAuth tlačítka, email/heslo, CineStar Club, tab barInspirace z CineStar
CineStar má OAuth prominently nahoře a CineStar Club (věrnostní program) jako součást přihlášení. Colosseum F1 přidá věrnostní program — podobný pattern.

