You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ui,a11y): Phase 4 - toggle 'Testo piu' grande' (SPA) + hint mobile
Ultima fase del piano di semplificazione UI, focalizzata su
accessibilita' per utenti 45-70 anni con vista non ottimale.
## Scelte pragmatiche vs piano originale
- SKIP 4.1 (design tokens espliciti in packages/shared/design/tokens.ts):
introdurrebbe classi semantiche (text-body-base, ecc.) parallele alle
utility Tailwind gia' usate ovunque nel codebase, creando duplicazione
e incoerenza. Rimandato a quando ci sara' un refactor mirato.
- SEMPLIFICA 4.2: no colonna backend user_preferences.large_text (sarebbe
over-engineering per una preferenza cosmetica per-dispositivo).
Persistenza locale con localStorage / (mobile: delega al sistema).
## SPA - Toggle 'Testo piu' grande' vero
- src/lib/textScale.ts: helper isLargeText / setLargeText / applyLargeText
/ initLargeText. Persist in localStorage 'accanto.largeText'.
- index.css: regola 'html.accanto-large { font-size: 18px }'. La UI
Tailwind e' rem-based -> tutta la scala visiva cresce di ~12.5%
proporzionalmente (16 -> 18px).
- main.tsx: initLargeText() prima del render per evitare flash a font
piccolo se attivo.
- AccountPage: toggle nel gruppo 'Profilo' (checkbox con label). Setter
applica subito la class su <html>.
## Mobile - hint su system settings
- iOS Dynamic Type e Android Font Size gia' scalano nativamente i
<Text> di React Native (nessun allowFontScaling={false} nel codebase,
verificato con grep).
- Fare un toggle app-level reinventerebbe la ruota + creerebbe una
seconda scala scollegata da quella di sistema.
- AccountScreen (Profilo): aggiunto sotto Lingua un piccolo blocco
'Dimensione del testo' con hint 'usa le impostazioni del dispositivo,
Accanto rispetta la tua scelta.'
## i18n (IT/EN/ES)
- account.textScale.title
- account.textScale.toggle (SPA)
- account.textScale.hint (SPA)
- account.textScale.mobileHint (mobile)
## Verifica
- frontend build OK.
- mobile tsc --noEmit exit=0.
- test manuale: toggle su/off cambia la dimensione visiva di tutti gli
elementi che usano rem (praticamente tutta la UI Tailwind).
## Phase 1-4 recap
- P1 (dea35d4): welcome + quick action + security banner
- P1.5 (1d7801c): fix bypass 2FA middleware + banner reattivo
- P2 (1fbd651): Account in 4 accordion + deep-link
- P3 (39c6a2f): empty state onboarding + chip audit + AI history unificata
- P4 (questo): toggle testo grande SPA + hint mobile
Copy file name to clipboardExpand all lines: packages/shared/src/i18n/locales/en.json
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -83,6 +83,12 @@
83
83
"languageSectionTitle": "Language",
84
84
"languageSectionHint": "The app will use this language on your devices.",
85
85
"languageSaved": "Language updated.",
86
+
"textScale": {
87
+
"title": "Text size",
88
+
"toggle": "Larger text",
89
+
"hint": "Increase text size for easier reading.",
90
+
"mobileHint": "To change text size use your device settings. Accanto respects your choice."
91
+
},
86
92
"deleteTitle": "Delete account",
87
93
"deleteDescription": "Deletion permanently removes your profile and any circles where you are the only member, along with the related journal, documents, questions and updates. If you share a circle with other people, you must first have them leave or leave the circle yourself.",
88
94
"deleteConfirmLabel": "Confirm with your password",
Copy file name to clipboardExpand all lines: packages/shared/src/i18n/locales/es.json
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -83,6 +83,12 @@
83
83
"languageSectionTitle": "Idioma",
84
84
"languageSectionHint": "La aplicación usará este idioma en tus dispositivos.",
85
85
"languageSaved": "Idioma actualizado.",
86
+
"textScale": {
87
+
"title": "Tamaño del texto",
88
+
"toggle": "Texto más grande",
89
+
"hint": "Aumenta el tamaño del texto para una lectura más cómoda.",
90
+
"mobileHint": "Para cambiar el tamaño del texto usa los ajustes de tu dispositivo. Accanto respeta tu elección."
91
+
},
86
92
"deleteTitle": "Eliminar cuenta",
87
93
"deleteDescription": "La eliminación borra de forma definitiva tu perfil y todos los círculos en los que eres el único miembro, junto con el diario, los documentos, las preguntas y las novedades vinculadas. Si compartes un círculo con otras personas, primero debes hacer que salgan o salir tú.",
88
94
"deleteConfirmLabel": "Confirma con tu contraseña",
Copy file name to clipboardExpand all lines: packages/shared/src/i18n/locales/it.json
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -83,6 +83,12 @@
83
83
"languageSectionTitle": "Lingua",
84
84
"languageSectionHint": "L'app userà questa lingua sui tuoi dispositivi.",
85
85
"languageSaved": "Lingua aggiornata.",
86
+
"textScale": {
87
+
"title": "Dimensione del testo",
88
+
"toggle": "Testo più grande",
89
+
"hint": "Aumenta la dimensione del testo per una lettura più comoda.",
90
+
"mobileHint": "Per cambiare la dimensione del testo usa le impostazioni del tuo dispositivo. Accanto rispetta la tua scelta."
91
+
},
86
92
"deleteTitle": "Elimina account",
87
93
"deleteDescription": "L'eliminazione rimuove definitivamente il tuo profilo e tutti i cerchi di cui sei l'unico membro, insieme a diario, documenti, domande e aggiornamenti collegati. Se condividi un cerchio con altre persone, devi prima farli uscire o uscire tu stesso.",
0 commit comments