Avevo sostituito la cella divisa con fondo neutro e puntini colorati. Si perdeva l'informazione a colpo d'occhio: il colore dice subito che tipo di impegno c'è, i puntini vanno cercati. Torna la resa di main: `linear-gradient(135deg, …)` con gli stop duplicati, che non è una sfumatura ma bande a taglio netto in diagonale, una per tipo. Il conteggio resta per **tipo** e non per numero di eventi: due partite nello stesso giorno restano una cella rossa piena, si divide solo se i tipi sono diversi. `coloreTipo` sale a livello di modulo: era ricostruito per ogni cella, cioè una trentina di volte per mese a ogni render. Nota sul contrasto, per chi tornerà qui. Il numero sta direttamente sulle bande con un alone bianco in `drop-shadow`, ed è una scelta di resa esplicita: il colore deve restare pieno fino al bordo. Ha un costo, però, perché nel frattempo success e training sono stati scuriti da 0.62 a 0.53 per far passare il testo bianco dei chip: il numero scuro sulle bande scende da 5.6:1 a 3.9:1 sul blu e da 5.7:1 a 4.0:1 sul verde. Se un giorno la leggibilità dà fastidio, la leva è una parola — `text-foreground` -> testo bianco sulle sole celle divise, che risale a ~4.9:1. 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, motion, vaul, 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.