Corregge la classifica interna di Squadra a parità di punteggio

I giocatori a pari valore condividono ora la stessa posizione (dense rank) invece di
essere numerati in sequenza, e il sottotitolo di ogni riga segue il criterio scelto
invece di mostrare sempre le presenze consecutive. Per Palloni mostra le volte
consecutive in cui il giocatore li ha portati (nuovo Giocatore.seriePalloni).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-09 10:55:06 +02:00
co-authored by Claude Sonnet 5
parent 8dfd81ebe4
commit 15f058f760
8 changed files with 214 additions and 7 deletions
+13
View File
@@ -90,6 +90,19 @@ Prima versione, pre-release.
(migration `m16_funzione_bonifica_dati_evento_orfani`, riservata al service role), coperta
da test di integrazione invece che verificata solo a mano (DD-029).
### Corretto
- Classifica interna di Squadra: a parità di valore (es. stesse presenze) i giocatori
condividono ora la stessa posizione invece di essere numerati in sequenza (`classificaRank`
in `src/lib/rosa.ts`); la corona di primo posto va a tutti i pari merito in testa, non solo
al primo dell'elenco.
- Il sottotitolo di ogni riga della classifica interna di Squadra mostrava sempre le
"presenze consecutive" anche ordinando per Media voto, MVP, Palloni o Cacche, un dato
scollegato dal criterio scelto: ora segue il criterio selezionato (`dettaglioClassifica` in
`src/lib/rosa.ts`). Per Palloni mostra le volte consecutive in cui il giocatore li ha
portati (nuovo campo `Giocatore.seriePalloni`, calcolato da `serieConsecutivaPalloni` in
`src/lib/palloni-core.ts`), non più le presenze.
### Sicurezza
- Migration `m4_solo_autenticati`: tolto al ruolo `anon` l'accesso alle tabelle dell'app
+5
View File
@@ -39,6 +39,11 @@ compaiono.
`TurnoPalloni.tsx`/`PromemoriaPalloni.tsx`). Conta solo gli eventi già passati (`e.data <
oggi`, stesso criterio delle presenze): un turno assegnato in anticipo per un allenamento
futuro non è ancora "portato", quindi non sale finché quel giorno non arriva.
- `serieConsecutivaPalloni()` (`palloni-core.ts`) calcola le volte **consecutive** in cui il
giocatore ha portato i palloni (`Giocatore.seriePalloni` in `rosa.ts`), mostrate nel
sottotitolo della classifica interna di Squadra quando si ordina per Palloni. Stesso
criterio "solo eventi già passati" di `conteggioTurni()`; un evento passato senza turno
confermato non spezza la serie di nessuno (viene saltato, non conta come "non portati").
- `TurnoPalloni.tsx` mostra/assegna il turno sulla card di un evento; `PromemoriaPalloni.tsx`
è il banner in Home per il giocatore di turno.