I colori di stato non passavano WCAG AA con il testo bianco sopra: success 3.39:1, training 3.49:1, info ~3.7:1 (chip «Presente», «Allenamento», celle del calendario). Le luminosità sono abbassate fino a superare 4.5:1. I gradi dei badge erano il caso peggiore: `text-oro` su bianco sta a 1.9:1 e `text-argento` a 2.5:1, cioè illeggibili. Nascono i token `--oro-testo`, `--argento-testo` e `--bronzo-testo` per il testo, mentre le varianti chiare restano dove servono davvero, su sfondi e bordi. Il blocco `.dark` non veniva mai applicato — nessun interruttore, nessun `prefers-color-scheme` — ed era anche incoerente: l'accento diventava grigio-blu e mancavano success, warning, info, training, i metalli, i due gradienti e le due ombre. Un tema mai attivato non si accorge di rompersi, quindi via, con `color-scheme: light` dichiarato esplicitamente. Nello stesso file: - `:focus-visible` globale, prima non c'era nessuna regola di focus; - tracking del display specifico per taglia (`font-display-sm/lg`): un solo valore per tutte le dimensioni è sbagliato da qualche parte; - utility `materiale` e `bordo-sfumato` per la chrome traslucida, con `prefers-reduced-transparency` e `prefers-contrast`; - movimento ridotto: dissolvenza breve invece dell'azzeramento di ogni transizione, così resta un feedback che spiega cosa è cambiato; - rimossi i token di chart e sidebar (i componenti che li usavano non ci sono più) e l'import di tw-animate-css, che non era usato da nessuna classe. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CrAPP 🏐
CrAPP è una Progressive Web App sviluppata per digitalizzare completamente la gestione di una squadra di pallavolo.
Funzionalità principali
- Gestione squadra
- Gestione presenze
- Calendario allenamenti e partite
- Scout Live
- Badge e gamification
- Statistiche
- Notifiche intelligenti
- Gestione amministrativa
- AI per la pianificazione degli allenamenti (in sviluppo)
Stack tecnologico
React 19, TypeScript, TanStack Start (SSR), Vite 8, Tailwind CSS 4, Radix UI / shadcn, Supabase (PostgreSQL, Auth, Storage), Vercel, GitHub. Dettagli in docs/ARCHITECTURE.md.
Avvio locale
Le dipendenze si installano con bun (bun.lock):
bun install
npm run dev # http://localhost:8080
Comandi
npm run build # build di produzione
npm run lint # eslint (include prettier)
npm run test # test unit; npm run test:all per la suite completa
Chi aggiunge o modifica una funzione scrive anche il test e lo lascia verde (test/README.md).
Deploy
Deploy automatico su Vercel a ogni push su main, che è anche il branch di lavoro corrente.
develop pubblica un Preview Deployment, ma oggi è indietro rispetto a main. Su quale branch
committare lo decide chi sviluppa (DD-019).
Variabili d'ambiente
Il progetto richiede le seguenti variabili:
SUPABASE_URLSUPABASE_PUBLISHABLE_KEYVITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEY
Documentazione
Indice in docs/README.md. Le regole per gli assistenti AI stanno in AGENTS.md, lo stato corrente del lavoro in PROJECT_STATE.md.