Aggiunge newsletter custom con D1, double opt-in e invio campagne.

Attiva il form footer, API subscribe/confirm/unsubscribe e endpoint admin protetti, riusando Resend per le email.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Javaxman
2026-07-28 23:23:19 +02:00
parent 9a8566a3f5
commit 7aff1abcfb
27 changed files with 1008 additions and 18 deletions

View File

@ -0,0 +1,18 @@
---
import SubpageLayout from '../../layouts/SubpageLayout.astro';
---
<SubpageLayout
title="Conferma non riuscita — Newsletter NexStudio"
description="Il link di conferma newsletter non è valido o è già stato usato."
heading="Conferma non riuscita"
lead="Il link di conferma non è valido, è scaduto o è già stato utilizzato."
>
<p>
Puoi riprovare iscrivendoti di nuovo dal form newsletter nel footer del
sito: riceverai un nuovo messaggio di conferma.
</p>
<p>
<a class="text-sky-400/90 hover:text-sky-300" href="/">Torna alla home</a>
</p>
</SubpageLayout>

View File

@ -0,0 +1,18 @@
---
import SubpageLayout from '../../layouts/SubpageLayout.astro';
---
<SubpageLayout
title="Iscrizione confermata — Newsletter NexStudio"
description="La tua iscrizione alla newsletter NexStudio è confermata."
heading="Iscrizione confermata"
lead="Il tuo indirizzo email è ora attivo per ricevere aggiornamenti su prodotti e roadmap NexStudio."
>
<p>
Puoi disiscriverti in qualsiasi momento dal link presente in fondo a ogni
messaggio.
</p>
<p>
<a class="text-sky-400/90 hover:text-sky-300" href="/">Torna alla home</a>
</p>
</SubpageLayout>

View File

@ -0,0 +1,20 @@
---
import SubpageLayout from '../../layouts/SubpageLayout.astro';
---
<SubpageLayout
title="Disiscrizione non riuscita — Newsletter NexStudio"
description="Il link di disiscrizione newsletter non è valido."
heading="Disiscrizione non riuscita"
lead="Il link di disiscrizione non è valido o è incompleto."
>
<p>
Se continui a ricevere messaggi indesiderati, scrivi a
<a class="text-sky-400/90 hover:text-sky-300" href="mailto:privacy@nexstudio.com"
>privacy@nexstudio.com</a
>.
</p>
<p>
<a class="text-sky-400/90 hover:text-sky-300" href="/">Torna alla home</a>
</p>
</SubpageLayout>

View File

@ -0,0 +1,18 @@
---
import SubpageLayout from '../../layouts/SubpageLayout.astro';
---
<SubpageLayout
title="Disiscrizione — Newsletter NexStudio"
description="Disiscrizione dalla newsletter NexStudio completata."
heading="Disiscrizione completata"
lead="Non riceverai più la newsletter di NexStudio su questo indirizzo."
>
<p>
Se ti sei disiscritto per errore, puoi iscriverti di nuovo dal footer del
sito e confermare lemail.
</p>
<p>
<a class="text-sky-400/90 hover:text-sky-300" href="/">Torna alla home</a>
</p>
</SubpageLayout>

View File

@ -4,13 +4,14 @@ import SubpageLayout from '../../layouts/SubpageLayout.astro';
<SubpageLayout
title="Grazie — Newsletter NexStudio"
description="Iscrizione alla newsletter ricevuta."
heading="Grazie"
lead="La richiesta di iscrizione è stata inviata. Controlla la posta se è prevista una conferma (double opt-in)."
description="Richiesta di iscrizione alla newsletter ricevuta."
heading="Controlla la tua email"
lead="Abbiamo ricevuto la richiesta di iscrizione. Per completarla, apri il messaggio di conferma e clicca sul link (double opt-in)."
>
<p>
Se usi un servizio con conferma via email, apri il messaggio e segui il
link per completare liscrizione.
Se non trovi lemail, controlla anche la cartella spam o promozioni. Il link
di conferma scade solo se viene generata una nuova richiesta per lo stesso
indirizzo.
</p>
<p>
<a class="text-sky-400/90 hover:text-sky-300" href="/">Torna alla home</a>