Apre il sondaggio pre-partita alle 8:00 con avviso push manuale.

Il sondaggio cacche era votabile in qualsiasi momento, anche settimane
prima della partita. Ora `sondaggioAperto()` lo sblocca alle 8:00 del
giorno della partita e prima la card mostra solo l'avviso di apertura.

Aggiunge la route `POST /api/public/apri-sondaggio` e, per gli
amministratori, il pulsante «Avvisa tutti del sondaggio» nella card:
manda la push a tutti i dispositivi iscritti, con lo stesso meccanismo
del sollecito presenze. Nessun invio automatico.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-06 00:08:58 +02:00
co-authored by Claude Opus 5
parent a7d0f5af5b
commit 73902cc0a4
10 changed files with 173 additions and 7 deletions
+9
View File
@@ -4,6 +4,7 @@ import {
mediaPartita,
mediaStagione,
recordStagione,
sondaggioAperto,
statisticheCacche,
type RigaCacche,
} from "@/lib/cacche";
@@ -52,4 +53,12 @@ assert.deepEqual(
"a parità vince chi l'ha fatto per primo",
);
// --- sondaggioAperto ---------------------------------------------------------
const alle = (h: number, m = 0) => new Date(2026, 8, 5, h, m); // 5 settembre 2026
assert.equal(sondaggioAperto("2026-09-05", alle(7, 59)), false, "prima delle 8 è chiuso");
assert.equal(sondaggioAperto("2026-09-05", alle(8)), true, "alle 8 in punto apre");
assert.equal(sondaggioAperto("2026-09-05", alle(23)), true);
assert.equal(sondaggioAperto("2026-09-06", alle(23)), false, "partita di domani: chiuso");
assert.equal(sondaggioAperto("2026-09-04", alle(0, 1)), true, "partita passata: resta aperto");
console.log("cacche: ok");