S14 — Editace profilu
Účel obrazovky
Formulář pro úpravu osobních údajů uživatele: registrační data, kontaktní a fakturační adresa, ISIC, GDPR souhlas, newsletter, změna hesla. Uživatel spravuje své údaje a preference.
Content Priority
- Registrační data — jméno, příjmení, telefon, email (readonly pro OAuth účty) Text Input
- Kontaktní údaje — ulice, město, PSČ, země Text Input
- Fakturační adresa — collapsible, volitelná (pokud se liší od kontaktní) Accordion / ExpandableText Input
- ISIC číslo — volitelné pole pro slevy Text Input
- GDPR nastavení — souhlas se zpracováním osobních údajů, newsletter opt-in/out Toggle / SwitchCheckbox
- Změna hesla — inline pole (staré heslo, nové heslo, potvrzení) nebo odkaz na samostatný flow Password Input
- CTA „Uložit změny" — sticky nebo na konci formuláře Primary Button
Interakce
| Trigger | Akce | Cíl |
|---|---|---|
| Změna pole | Inline validace | Zobrazení chyby pod polem (on blur) |
| Tap „Uložit změny" | API call → úspěch | Success toast „Změny uloženy" + návrat nebo zůstání na obrazovce |
| Tap „Změnit heslo" | Zobrazení polí pro změnu hesla | Staré heslo, nové heslo, potvrzení |
| Odejít s neuloženými změnami | Back nebo gesto zpět | Dialog „Máte neuložené změny. Opravdu chcete odejít?" |
| Změna newsletter | Toggle | Okamžitá aktualizace preference (nebo při uložení) |
Stavy
| Stav | Popis | Vizuální chování |
|---|---|---|
| View mode | Pouze zobrazení dat (alternativní přístup) | Readonly zobrazení s CTA „Upravit" |
| Edit mode | Formulář pro úpravu | Editovatelná pole |
| Saving | Ukládání probíhá | Loading indikátor na CTA, pole disabled |
| Validation errors | Chyby ve formuláři | Červené labely pod poli, CTA zůstává aktivní |
| Success | Úspěšné uložení | Toast „Změny uloženy", volitelně haptic |
Edge Cases a Error States
| Scénář | Řešení |
|---|---|
| OAuth účet | Email readonly (nelze měnit, je vázán na Google/Facebook) |
| Validace telefonu | Formát dle země (např. +420 pro ČR) |
| Neuložené změny | Při back/gesto zpět: dialog „Máte neuložené změny. Opravdu chcete odejít?" |
| API chyba při ukládání | Toast „Nepodařilo se uložit změny. Zkuste to znovu." + retry |
| Současná změna hesla | Oddělit do samostatné sekce nebo bottom sheet — staré heslo, nové, potvrzení, CTA „Změnit heslo" |
| ISIC expirace | Volitelně: datum platnosti ISIC, upozornění před expirací |
Mobilní patterny a odlišení od webu
Keyboard-aware scroll
- Při focus na pole automaticky scrollovat tak, aby bylo pole vidět nad klávesnicí
- Klávesnice nesmí zakrývat aktivní input
Inline validace
- Validace on blur (po opuštění pole), ne při každém keystroke — méně rušivé
- Chyby zobrazit přímo pod polem
Form sections
- Logické oddělení sekcí (Osobní údaje / Adresa / Nastavení) pro snadnější orientaci na malém displeji
Reference — Aktuální web
SCR-WEB-44Editace dat — jméno, telefon, email, ISICSCR-WEB-47Kontaktní údaje, fakturační adresaSCR-WEB-49GDPR souhlas, smazání účtu

