Toglie la proposta automatica dei palloni sugli allenamenti.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Cacciari
2026-09-05 22:44:25 +02:00
co-authored by Cursor
parent 033c45df4d
commit 61c6aaaaed
7 changed files with 49 additions and 16 deletions
+6
View File
@@ -6,6 +6,12 @@ qui: sta in [ROADMAP.md](ROADMAP.md).
## Versione attuale — agosto 2026
### Palloni: allenamenti senza proposta automatica
- `completaTurni` non assegna più gli allenamenti: restano «da assegnare» finché non si
sceglie a mano. Le partite tengono la rotazione. Migration M10 cancella eventuali turni
salvati su allenamenti da oggi in poi.
### Profilo: etichetta notifiche allineata al comportamento
- Linterruttore in Impostazioni non è più «Notifiche turno palloni»: iscrive il dispositivo
+1 -1
View File
@@ -52,7 +52,7 @@ non in questo file.
| Tabella | Scopo | Note |
| -------------------- | --------------------------------------------- | ---- |
| `turni_palloni` | Gestione dei turni palloni. | |
| `turni_palloni` | Gestione dei turni palloni. | Solo turni **confermati**. Gli allenamenti non ricevono proposta automatica (vedi [palloni.md](modules/palloni.md)); M10 azzera i turni salvati su allenamenti da oggi in poi. |
| `push_subscriptions` | Dispositivi registrati per le notifiche Push. | |
| `promemoria_push` | Storico dei promemoria inviati. | |
+6 -4
View File
@@ -25,14 +25,16 @@ compaiono.
## Implementazione
- `completaTurni()` (`palloni-core.ts`) propone, per ogni evento senza turno già salvato, il
candidato con meno turni fatti, poi quello che non lo fa da più tempo, poi per ordine
alfabetico — un algoritmo greedy, non un ordine fisso né solo per data.
- `completaTurni()` (`palloni-core.ts`) propone, per ogni **partita** o evento extra senza
turno già salvato, il candidato con meno turni fatti, poi quello che non lo fa da più
tempo, poi per ordine alfabetico — un algoritmo greedy, non un ordine fisso né solo per
data. Gli **allenamenti** non ricevono proposta automatica: restano «da assegnare» finché
qualcuno non sceglie un incaricato in `TurnoPalloni` (scelta della squadra).
- `useAssegnaTurno()` (`palloni.ts`) conferma una proposta o riassegna manualmente, con
upsert su `evento_id`.
- Il conteggio "quante volte hai portato i palloni" mostrato nel profilo e nei badge è
ricalcolato a runtime da `conteggioTurni()` su turni salvati **più proposte non ancora
confermate** — non è uno storico in tabella dedicata.
confermate** (partite/eventi) — non è uno storico in tabella dedicata.
- `TurnoPalloni.tsx` mostra/assegna il turno sulla card di un evento; `PromemoriaPalloni.tsx`
è il banner in Home per il giocatore di turno.