diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md index d20b2f4..d61a322 100644 --- a/PROJECT_STATE.md +++ b/PROJECT_STATE.md @@ -9,16 +9,18 @@ schema in [docs/DATABASE.md](docs/DATABASE.md), le procedure in ## Stato generale -- **Versione:** 1.4.1 (in produzione su `main` la 1.3.0, tag `v1.3.0`) — gli eventi con convocati si vedono - solo ai convocati (admin e allenatori sempre) e «Rosa e presenze» elenca solo loro. La 1.4.0: avviso «Presenza modificata» ad admin e +- **Versione:** 1.4.2 (in produzione su `main` la 1.3.0, tag `v1.3.0`) — ogni evento può avere un link + Google Maps del luogo, mostrato come «Apri su Maps» nelle schede (`m34`). La 1.4.1: gli eventi con + convocati si vedono solo ai convocati (admin e allenatori sempre) e «Rosa e presenze» elenca solo + loro. La 1.4.0: avviso «Presenza modificata» ad admin e allenatori (DD-050, `m32`-`m33`). La 1.3.1: il Calendario mostra solo i prossimi compleanni del mese; tolta la serie «Conferme 24h» con i badge «Risposta lampo» e «Mai un forfait». La 1.3.0 portava la notifica di compleanno, gli obiettivi cliccabili, le presenze sui convocati, gli avvisi in Home ridisegnati e i caratteri più grandi. 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:** 44 file in `supabase/migrations/`, fino a `m33_presenza_modificata_allenatori`. Tutte applicate in produzione (verificato con `npx supabase migration list` il - 09/10/2026; la `m32` è l'avviso «Presenza modificata» ai soli admin, DD-050). La `m33`, che lo estende agli allenatori, è stata applicata il 09/10/2026. La `m29` toglie +- **Migration:** 45 file in `supabase/migrations/`, fino a `m34_link_maps_evento` (colonna `eventi_app.link_maps`, applicata il 26/10/2026). Tutte applicate in produzione (verificato con `npx supabase migration list` il + 26/10/2026; la `m32` è l'avviso «Presenza modificata» ai soli admin, DD-050). La `m33`, che lo estende agli allenatori, è stata applicata il 09/10/2026. La `m29` toglie `foto_path`: il codice che non la legge più (1.2.2) va rilasciato. - **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 diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 7fcda85..b2ada9e 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -13,13 +13,16 @@ versioni `0.y.z` erano pre-release. ## [Non rilasciato] -Una migration, `m34`, **non ancora applicata in produzione**. +## [1.4.2] - 2026-10-26 + +Link Google Maps del luogo degli eventi. Una migration, `m34`, applicata in produzione il +26/10/2026. ### Aggiunto - Link Google Maps del luogo: in «Gestione eventi» (admin e allenatori) un campo facoltativo accetta il link copiato da Google Maps; nelle schede di partita, allenamento ed evento compare - «Apri su Google Maps» solo se il link c'è. Non compare nella card né nelle notifiche. Il link + «Apri su Maps» solo se il link c'è. Non compare nella card né nelle notifiche. Il link è validato (solo https di Google Maps) sia nell'app sia da un CHECK sul database. ## [1.4.1] - 2026-10-19 diff --git a/docs/modules/calendario.md b/docs/modules/calendario.md index 68c749c..0119150 100644 --- a/docs/modules/calendario.md +++ b/docs/modules/calendario.md @@ -57,7 +57,7 @@ extra-campo, nessun link per gli eventi virtuali (compleanni), che non hanno una sotto «Luogo»: si incolla il link di «Condividi» di Google Maps. `linkMapsValido()` in `eventi.ts` accetta solo URL https di Google Maps (`maps.app.goo.gl`, `goo.gl/maps`, `google.*/maps`, `maps.google.*`) e lo stesso criterio è un CHECK sul database. Le tre schede di dettaglio mostrano -«Apri su Google Maps» (nuova scheda) solo se il link c'è; non c'è un link generato dal testo del +«Apri su Maps» (nuova scheda) solo se il link c'è; non c'è un link generato dal testo del luogo, e né la card né le notifiche lo mostrano. Le tre schede di dettaglio (`allenamento.$id.tsx`, `partita.$id.tsx`, `evento.$id.tsx`) diff --git a/package-lock.json b/package-lock.json index d41345f..c66dd2c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "crapp", - "version": "1.4.1", + "version": "1.4.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "crapp", - "version": "1.4.1", + "version": "1.4.2", "dependencies": { "@supabase/supabase-js": "^2.111.0", "@tailwindcss/vite": "^4.2.1", diff --git a/package.json b/package.json index 5c18122..0a789fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "crapp", - "version": "1.4.1", + "version": "1.4.2", "private": true, "sideEffects": false, "type": "module", diff --git a/src/routes/allenamento.$id.tsx b/src/routes/allenamento.$id.tsx index 43dfb2c..72c5b74 100644 --- a/src/routes/allenamento.$id.tsx +++ b/src/routes/allenamento.$id.tsx @@ -82,7 +82,7 @@ function AllenamentoDetail() { rel="noopener noreferrer" className="ml-4 inline-flex items-center gap-2 font-semibold text-accent underline" > - Apri su Google Maps + Apri su Maps ) : null} diff --git a/src/routes/evento.$id.tsx b/src/routes/evento.$id.tsx index 82fe086..ffa42cb 100644 --- a/src/routes/evento.$id.tsx +++ b/src/routes/evento.$id.tsx @@ -79,7 +79,7 @@ function EventoDetail() { rel="noopener noreferrer" className="ml-4 inline-flex items-center gap-2 font-semibold text-accent underline" > - Apri su Google Maps + Apri su Maps ) : null} diff --git a/src/routes/partita.$id.tsx b/src/routes/partita.$id.tsx index 13f1c19..64dcdf0 100644 --- a/src/routes/partita.$id.tsx +++ b/src/routes/partita.$id.tsx @@ -140,7 +140,7 @@ function PartitaDetail() { rel="noopener noreferrer" className="ml-4 inline-flex items-center gap-2 font-semibold text-accent underline" > - Apri su Google Maps + Apri su Maps ) : null}