Nessun cambio di funzionalità: solo resa, accessibilità e correzioni al layout su iPhone. - Aggiunge `viewport-fit=cover`: senza, su iOS `env(safe-area-inset-*)` valeva 0 e il margine per la barra gesture già presente nella bottom nav non aveva effetto. Aggiunge il margine superiore su hero, PageHeader e header dello scout, che in modalità standalone finivano sotto il notch. - Attiva il tema scuro sulla preferenza di sistema e ne riscrive i valori: l'accento resta il rosso del brand (prima diventava grigio-blu) e i token semantici che mancavano ora ci sono. `theme-color` ha una tinta per tema. - Sposta il feedback dal rilascio alla pressione su Button, bottom nav e comandi principali; aggiunge l'anello di focus da tastiera in `@layer base`, che mancava su tutti i bottoni scritti a mano fuori da components/ui/. - Rende la bottom nav una superficie traslucida con sfumatura di scorrimento al posto della riga netta, alleggerisce il velo dei drawer e sostituisce l'alone rosso delle ombre con ombre neutre. - Introduce una scala tipografica in rem con crenatura e interlinea per taglia, al posto dei 109 `text-[Npx]` fissi che non scalavano con l'impostazione di testo del sistema. - Porta a 44px le aree di tocco dei comandi piccoli, mostra uno scheletro di pagina al posto della schermata bianca in home e profilo, conserva le dissolvenze con movimento ridotto e aggiunge il supporto a `prefers-reduced-transparency` e `prefers-contrast`. - Anima l'apertura delle sezioni a tendina con Radix Collapsible, già fra le dipendenze, al posto di un montaggio secco. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Documentazione CrAPP
Indice della documentazione ufficiale del progetto. Ogni file risponde a una domanda precisa: se l'informazione che cerchi non è nel file indicato, probabilmente non esiste ancora e va prima documentata (vedi DD-002).
Dove sta cosa
| Documento | Risponde a |
|---|---|
| VISION.md | Perché esiste CrAPP, quali principi deve rispettare una funzionalità |
| ROADMAP.md | Cosa è fatto e cosa è previsto, versione per versione |
| ARCHITECTURE.md | Com'è fatta l'app: stack, struttura del codice, flusso di sviluppo |
| DATABASE.md | Quali tabelle esistono, a cosa servono, chi le usa |
| DESIGN_DECISIONS.md | Perché abbiamo scelto così, cosa abbiamo escluso e quando riaprire la scelta |
| PORTABILITA.md | Cosa lega l'app a un fornitore e cosa no, come spostarla su server proprio |
| EFFICIENZA_CLOUD.md | Come tenere basso il consumo cloud: cache, query, push |
| TODO.md | A cosa si sta lavorando adesso |
| CHANGELOG.md | Cosa è cambiato e quando |
| modules/ | Specifica funzionale di ogni modulo, una per file |
Le regole vincolanti per gli assistenti AI stanno in AGENTS.md; lo stato corrente del lavoro in PROJECT_STATE.md.
Ordine di lettura
Prima di modificare il codice, nell'ordine: questo indice → VISION.md → ROADMAP.md →
ARCHITECTURE.md → DATABASE.md → DESIGN_DECISIONS.md → TODO.md → il documento del
modulo interessato in modules/.
Regole di manutenzione
Ogni informazione ha una sola casa, per evitare che le copie divergano:
- l'elenco delle funzionalità (fatte e previste) sta solo in
ROADMAP.md; CHANGELOG.mdregistra quando qualcosa è stato rilasciato, non ripete l'elenco;TODO.mdcontiene solo il lavoro in corso o imminente, e rimanda alla roadmap;- lo schema del database sta solo in
DATABASE.md, allineato alle migration insupabase/migrations/: una tabella nuova si documenta nella stessa modifica che la crea; - le motivazioni stanno solo in
DESIGN_DECISIONS.md, in vociDD-XXX; per aggiungerne una si copia _template-dd.md.
Convenzioni di scrittura: un solo titolo # per file (le sezioni interne partono da ##),
niente --- come riempitivo tra i paragrafi, tabelle al posto degli elenchi ripetitivi.