30 lines
1.6 KiB
Markdown
30 lines
1.6 KiB
Markdown
# DD-015 — Rosa anagrafica: da codice hardcoded a database
|
|||
|
|
|
||
|
|
**Data:** 3 settembre 2026
|
||
|
|
**Stato:** Accettata
|
||
|
|
|
||
|
|
**Contesto**
|
||
|
|
La lista giocatori viveva nel codice sorgente (`src/lib/crapp-data.ts`). Il database aveva già
|
||
|
|
`giocatori_squadra` (migration M1) popolata ma non letta da nessuna schermata tranne
|
||
|
|
`/benvenuto` e `/admin`: «Aggiungi giocatore» e «Disattiva giocatore» della dashboard non
|
||
|
|
avevano effetto su Squadra, Presenze, Pagelle, Badge e Scout, mantenendo gli stessi ID finché
|
||
|
|
non si farà DD-012.
|
||
|
|
|
||
|
|
**Decisione**
|
||
|
|
`useRosa()` (e con lei `useIo`, `useObiettivi`) legge ora `giocatori_squadra` tramite
|
||
|
|
`useGiocatoriSquadra()`, filtrando solo i giocatori `attivo`. Tutti i punti che prima
|
||
|
|
importavano la lista statica (`convocatiEvento`, `compleanniEventi`, `completaTurni`,
|
||
|
|
`csvScoutMatch`, i widget di voto/scout/palloni, le due route API che mandano push) sono stati
|
||
|
|
agganciati allo stesso hook o, lato server, a `leggiGiocatoriSquadra()`
|
||
|
|
(`src/lib/giocatori-squadra.server.ts`, stesso pattern di `eventi.server.ts`).
|
||
|
|
|
||
|
|
**Conseguenze**
|
||
|
|
|
||
|
|
- Un giocatore aggiunto o disattivato dalla dashboard admin ora si riflette ovunque, non solo
|
||
|
|
in `/benvenuto` e `/admin`.
|
||
|
|
- `giocatori_squadra` non ha ancora una colonna per la data di nascita: per i 17 giocatori
|
||
|
|
storici resta quella di `crapp-data.ts` (`nascitaPerId`, lookup per id); un giocatore
|
||
|
|
aggiunto dopo la migrazione non ha nascita nota finché la colonna non esiste. Follow-up da
|
||
|
|
aprire quando serve davvero.
|
||
|
|
- `src/lib/crapp-data.ts` resta come seed storico e fallback (`rosaFallback()`), non più come
|
||
|
|
fonte viva.
|