From 29acb326a7460e673120f142673d7498e876f8e2 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Tue, 6 Oct 2026 11:54:28 +0200 Subject: [PATCH] Porta la versione a 1.3.0: changelog e stato del progetto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sezione 1.3.0 del CHANGELOG con tutto quanto dopo v1.2.3 (notifica di compleanno, obiettivi cliccabili, presenze sui convocati, avvisi in Home, caratteri più grandi, tessera CSI tolta dalla dashboard). Versione in package.json e package-lock.json, PROJECT_STATE aggiornato. Migration da applicare: m31. Co-Authored-By: Claude Sonnet 5.5 --- PROJECT_STATE.md | 12 ++++-------- docs/CHANGELOG.md | 44 +++++++++++++++++++++++++++++--------------- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 36 insertions(+), 26 deletions(-) diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md index 57b0d6f..b6f54fb 100644 --- a/PROJECT_STATE.md +++ b/PROJECT_STATE.md @@ -9,22 +9,18 @@ schema in [docs/DATABASE.md](docs/DATABASE.md), le procedure in ## Stato generale -- **Versione:** 1.2.3 (in produzione su `main` la 1.2.2) — notifiche su tre canali, avvisi di palloni - (3 ore prima) e presenze (24 ore prima) una sola volta, niente promemoria evento, niente foto - tessera, avviso certificato a 30 giorni per il giocatore, avviso rosso per chi non l'ha caricato. +- **Versione:** 1.3.0 (tag `v1.3.0` su `main`) — notifica di compleanno, obiettivi cliccabili con card di + dettaglio, presenze calcolate sui convocati, avvisi in Home ridisegnati, caratteri più grandi, tessera CSI + tolta dalla dashboard. Dettaglio in [docs/CHANGELOG.md](docs/CHANGELOG.md). - **Backend:** Supabase proprietario (`kfkcldwncxqaixetsjes`). Lovable Cloud e il vecchio Project Ref `hetycilxgkdmccelwerq` non si usano più. - **Migration:** 42 file in `supabase/migrations/`, fino a `m31_notifica_compleanno`. Le prime 41 (fino a `m30_sollecito_solo_24h`) sono applicate in produzione (verificato con `npx supabase migration list` il 01/10/2026); la `m31` no, ancora da applicare (DD-047). La `m29` toglie `foto_path`: il codice che non la legge più (1.2.2) va rilasciato. -- **Su `develop`, non ancora rilasciato:** obiettivi cliccabili con card di dettaglio, presenze del mese - calcolate sui convocati, obiettivi «Presenze collettive» e «evento di squadra al mese» (ora dell'evento), - tessera CSI tolta dalla dashboard (DD-048), avvisi in Home ridisegnati e caratteri più grandi in tutta l'app (DD-049), notifica di compleanno (DD-047, migration `m31`). Dettaglio in - [docs/CHANGELOG.md](docs/CHANGELOG.md). - **Worker delle notifiche** (`mailer/`): in funzione su un Raspberry Pi con Docker dal 29/09/2026 ([docs/WORKER_EMAIL.md](docs/WORKER_EMAIL.md)). Il codice con l'interruttore «Email» in Profilo - è su `develop`, non ancora su `main`. + è su `main` dalla 1.3.0. - **Accesso:** il login Google è l'unica via d'ingresso; i permessi di amministrazione arrivano solo da `user_roles`. Il collegamento degli account è un processo continuo: ogni giocatore si collega al primo accesso (DD-018). diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 573596c..b577df6 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -13,34 +13,48 @@ versioni `0.y.z` erano pre-release. ## [Non rilasciato] +## [1.3.0] - 2026-10-06 + +Gli auguri di compleanno arrivano da soli, gli obiettivi di squadra si possono toccare per capire come funzionano +e le presenze si contano solo sugli eventi a cui si è convocati. In tutta l'app i caratteri sono più grandi e gli +avvisi in Home più chiari. La migration `m31_notifica_compleanno` è **da applicare in produzione** (`npx supabase +db push`); il resto non tocca il database. + ### Aggiunto -- **Obiettivi cliccabili** — toccando un obiettivo (in Squadra o nella card della Home) si apre una card che - spiega tutto: come si calcola, cosa conta e cosa no, periodo di validità, fonte dei dati, un esempio. Nessuna - migration. - **Notifica di compleanno** — ogni giorno, dalle 8:00, il festeggiato riceve un messaggio di auguri e tutti gli altri membri attivi, allenatori compresi, il solo avviso «Oggi è il compleanno di …»; con più compleanni lo stesso giorno un solo messaggio a testa. Push, centro notifiche ed email. Il 29 febbraio non è gestito (DD-047, issue #11). Migration `m31_notifica_compleanno`, da applicare in produzione. +- **Obiettivi cliccabili** — toccando un obiettivo (in Squadra o nella card della Home) si apre una card che + spiega tutto: come si calcola, cosa conta e cosa no, cosa è una presenza persa, periodo di validità, fonte dei dati, + un esempio con numeri. Nessuna migration. ### Modificato +- **Obiettivo «90% di presenze del mese»** — i posti sono i convocati di ogni partita e allenamento (tutta la rosa se + non ce ne sono), come nelle presenze collettive: chi non è convocato non abbassa più la percentuale. Assente, forse, + infortunato e nessuna risposta restano presenze perse. Nessuna migration. +- **Obiettivo «Presenze collettive»** — sostituisce «250 presenze complessive»: è la percentuale di presenze di tutta la + rosa su allenamenti e partite definiti in stagione (passati e futuri, posti = convocati), con target 90%. Nessuna migration. +- **Obiettivo «1 evento di squadra al mese»** — si completa quando arriva l'ora dell'evento, non appena viene + creato. Un evento futuro non conta finché la sua data e ora non sono passate. Nessuna migration. +- **Avvisi in Home più leggibili** — certificati e turno palloni usano lo stesso componente (`Avviso`): icona + propria per ogni caso (non solo il colore), titolo e testo più grandi, elenchi di persone in righe con il dettaglio + a destra e il conteggio, freccia dove la card porta ai documenti, comparsa graduale. Il turno palloni ha la pillola + «Oggi»/«In arrivo» e i messaggi in riquadri. Solo aspetto: testi e regole di quando compaiono non cambiano. + Nessuna migration. - **Caratteri più grandi in tutta l'app** — ogni testo sotto i 16 px sale di un passo (12→13, 14→15, ecc.), nelle card, negli elenchi, nelle statistiche e nei drawer. Restano uguali le barre a pillola dei menu (navigazione in basso e sottosezioni) e i badge minuscoli. Solo aspetto, nessuna migration (DD-049). -- **Avvisi in Home più leggibili** — certificati e turno palloni usano lo stesso componente (`Avviso`): icona - propria per ogni caso (non solo il colore), titolo e testo più grandi, elenchi di persone in righe con il dettaglio - a destra e il conteggio, freccia dove la card porta ai documenti, comparsa graduale. Solo aspetto: testi e regole - di quando compaiono non cambiano. Nessuna migration. -- **Tessera CSI tolta dalla dashboard** — in Profili spariscono il blocco «Tesseramento CSI» (numero e data +- **Etichetta «Cacche» nella rosa** — nella scheda del giocatore in Squadra la riga «Cacche/partita» si chiama + «Cacche»; il valore resta la media per partita. Nessuna migration. + +### Rimosso + +- **Tessera CSI dalla dashboard** — in Profili spariscono il blocco «Tesseramento CSI» (numero e data tessera), il badge «Tesserato»/«Da tesserare» e il riquadro «Tesserati» della tab Squadra. L'export CSV non - cambia. Le colonne a database restano, non più usate (DD-048). Nessuna migration. -- **Obiettivo «90% di presenze del mese»** — i posti sono i convocati di ogni partita e allenamento (tutta la rosa se - non ce ne sono), come nelle presenze collettive: chi non è convocato non abbassa più la percentuale. Nessuna migration. -- **Obiettivo «1 evento di squadra al mese»** — si completa quando arriva l'ora dell'evento, non appena viene - creato. Un evento futuro non conta finché la sua data e ora non sono passate. Nessuna migration. -- **Obiettivo «Presenze collettive»** — sostituisce «250 presenze complessive»: è la percentuale di presenze di tutta la - rosa su allenamenti e partite definiti in stagione (passati e futuri, posti = convocati), con target 90%. Nessuna migration. + cambia. Le colonne `numero_tessera` e `data_tessera` restano a database, non più usate (DD-048). Nessuna migration. ## [1.2.3] - 2026-10-04 diff --git a/package-lock.json b/package-lock.json index 3b96583..38d2fe2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "crapp", - "version": "1.2.3", + "version": "1.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "crapp", - "version": "1.2.3", + "version": "1.3.0", "dependencies": { "@supabase/supabase-js": "^2.111.0", "@tailwindcss/vite": "^4.2.1", diff --git a/package.json b/package.json index 2797ad9..66649a0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "crapp", - "version": "1.2.3", + "version": "1.3.0", "private": true, "sideEffects": false, "type": "module",