diff --git a/src/pages/promo-eventi.astro b/src/pages/promo-eventi.astro index 25449ee..7f678d3 100644 --- a/src/pages/promo-eventi.astro +++ b/src/pages/promo-eventi.astro @@ -25,7 +25,12 @@ const utente = token ? getSessionUser(getDb(), token) : null; // Una data secca (`2026-08-20`) sarebbe letta come UTC: la si porta a mezzogiorno italiano, // lontano dai confini di mezzanotte dove sta la differenza fra un'edizione e l'altra. const quandoParam = param && /^\d{4}-\d{2}-\d{2}$/.test(param) ? `${param}T12:00:00+02:00` : param; -const anteprima = Boolean(utente && quandoParam && !Number.isNaN(Date.parse(quandoParam))); +const dataLeggibile = Boolean(quandoParam && !Number.isNaN(Date.parse(quandoParam))); +const anteprima = Boolean(utente && dataLeggibile); +// Un'anteprima chiesta e non applicata va **detta**: altrimenti la pagina risponde con +// l'edizione di oggi e due date diverse danno lo stesso risultato — che si legge come «la +// funzione non funziona» invece che «non sei entrato». +const anteprimaIgnorata = !param || anteprima ? null : (!utente ? 'login' : 'data'); const quando = anteprima ? new Date(quandoParam!) : new Date(); const ed = edizioneAttiva(quando); // La pagina cambia contenuto col passare del tempo: una copia in cache la congelerebbe alla @@ -53,6 +58,16 @@ const countdownDeadline = ed ? t(tg('countdown.deadline')) : ''; {ed ? ` edizione «${ed.id}»` : ' nessuna edizione attiva'} )} + {anteprimaIgnorata === 'login' && ( +