Chiude il sondaggio cacche al fischio d'inizio, non solo il giorno dopo

sondaggioAperto() restava aperto per sempre una volta passate le 8:00 del
giorno della partita, anche nei giorni successivi. Ora chiude esattamente
all'ora di inizio (partita alle 21:00 → aperto fino alle 20:59, poi chiuso
anche nei giorni seguenti), richiedendo anche l'ora dell'evento oltre alla
data.

Aggiunta sondaggioTerminato() per distinguere nel messaggio "non ancora
aperto" da "già chiuso": altrimenti dopo la partita l'utente avrebbe
continuato a leggere "apre alle 8:00".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-07 16:59:50 +02:00
co-authored by Claude Sonnet 5
parent 9cc63b7854
commit b4878b7795
5 changed files with 113 additions and 17 deletions
+13 -3
View File
@@ -7,7 +7,13 @@ import { nomeCompleto, useGiocatoriSquadra } from "@/lib/giocatori-squadra";
import { useGiocatoreCorrente } from "@/lib/user-store";
import { intestazioniAutenticate } from "@/lib/auth";
import { useIsAdmin } from "@/lib/ruoli";
import { mediaPartita, sondaggioAperto, useCacche, useSalvaCacche } from "@/lib/cacche";
import {
mediaPartita,
sondaggioAperto,
sondaggioTerminato,
useCacche,
useSalvaCacche,
} from "@/lib/cacche";
const opzioni = [0, 1, 2, 3, 4, 5];
@@ -15,9 +21,11 @@ const opzioni = [0, 1, 2, 3, 4, 5];
export function SondaggioCacche({
eventoId,
dataEvento,
oraEvento,
}: {
eventoId: string;
dataEvento: string;
oraEvento: string;
}) {
const io = useGiocatoreCorrente();
const { righe } = useCacche();
@@ -69,14 +77,16 @@ export function SondaggioCacche({
}
}
if (!sondaggioAperto(dataEvento)) {
if (!sondaggioAperto(dataEvento, oraEvento)) {
return (
<Card>
<p className="text-xs font-bold uppercase tracking-wide text-muted-foreground">
💩 Sondaggio pre-partita
</p>
<p className="mt-1 text-xs text-muted-foreground">
Apre alle 8:00 del giorno della partita: riceverai una notifica.
{sondaggioTerminato(dataEvento, oraEvento)
? "Sondaggio chiuso: era aperto fino al fischio d'inizio."
: "Apre alle 8:00 del giorno della partita: riceverai una notifica."}
</p>
</Card>
);