Commit Graph

67 Commits

Author SHA1 Message Date
4ed40424be ci: limit deploy workflow to main branch
Some checks failed
Deploy Cloudflare / deploy (push) Failing after 46s
2026-08-07 23:11:30 +02:00
84291efbaf ci: touch workflow to retrigger Actions
All checks were successful
Deploy Cloudflare / deploy (push) Successful in 2m43s
2026-08-07 23:08:09 +02:00
8297d86da3 ci: re-trigger deploy after runner network fix
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 23:07:02 +02:00
d34b126b0b ci: allow gitea-actions branch for deploy verification
Some checks failed
Deploy Cloudflare / deploy (push) Failing after 2m38s
2026-08-07 22:58:16 +02:00
a34090a33d ci: add Gitea Actions Cloudflare deploy workflow 2026-08-07 22:55:42 +02:00
4d548b2b19 Merge pull request #30 from javaxman/feat/security-disclosure-policy
Policy responsible disclosure (security@)
2026-07-31 22:10:39 +02:00
6704a9a6e1 Aggiunge la policy di responsible disclosure come allegato operativo.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 18:17:59 +02:00
60ccc4ca25 Merge pull request #29 from javaxman/feat/piano-formazione-codice-etico
Piano formazione Codice Etico (90 giorni + annuale)
2026-07-31 17:59:51 +02:00
62e8f6fffc Aggiunge il piano formazione 90 giorni e annuale come allegato operativo.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 15:36:58 +02:00
314011c17a Merge pull request #27 from javaxman/feat/complete-en-th-translations
Completa traduzioni EN/TH e fix sezioni home
2026-07-31 14:39:12 +02:00
a0c9dd9141 Merge branch 'main' into feat/complete-en-th-translations
Risolve i conflitti su codice-etico mantenendo traduzioni EN/TH, companyConfig e link agli allegati.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 14:36:35 +02:00
ee4bd0b2df Merge pull request #28 from javaxman/feat/codice-etico-allegati
Aggiunge allegati operativi al Codice Etico
2026-07-31 11:52:46 +02:00
3d43febe21 Aggiunge i 9 template operativi del Codice Etico e la config societaria da compilare.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 11:49:18 +02:00
b687bc8ac2 Riduce i micro-blocchi allo scroll alleggerendo canvas e spine SVG.
Il canvas particelle era alto quanto tutto il documento e ridisegnava ogni frame; ora resta sul viewport e si ferma durante lo scroll.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:59:58 +02:00
ef343a31b5 Impedisce l'auto-traduzione del browser e fissa il locale TH/EN esplicito.
Chrome traduceva il tailandese in inglese allo scroll; html translate=no e prop locale sulle route.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:39:27 +02:00
04a1892c0d Completa le traduzioni EN/TH e corregge sezioni home ancora solo in italiano.
Stats e prodotti non usavano il locale, quindi dopo lo switch lingua lo scroll mostrava ancora l'italiano.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 23:53:46 +02:00
3b52e5815c Invia i contatti direttamente a Gmail invece che a pro@ via Routing. (#26)
Con DMARC p=reject l inoltro Email Routing spesso non consegna le mail di Email Sending.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 17:49:03 +02:00
7f4bb2f184 Elimina il falso successo del form contatti e mostra conferma invio. (#25)
Rimuove l honeypot autofillato, rifiuta mode non-live in produzione e TO su pro@nexstudio.ai.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 17:34:26 +02:00
03aabd29cc Corregge destinatario contatti e cursore sul pulsante Invia. (#24)
Ignora override INFO malformati, preferisce il mittente newsletter e usa cursor-pointer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 17:20:08 +02:00
866d07b8b2 Sincronizza le Variable contatti nel wrangler locale. (#23)
Allinea FROM/TO al dashboard Cloudflare e ripristina CONTACT_FORM_FROM_EMAIL in deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 17:09:23 +02:00
5606ff696e Mostra errori utente generici sul form contatti. (#22)
I dettagli di configurazione restano solo nei log Worker, non sulla landing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 17:01:56 +02:00
6673843a00 Chiarisce la config email del form contatti e usa fallback newsletter. (#21)
Messaggio di errore specifico su cosa manca; FROM/TO possono riusare NEWSLETTER_*.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 16:59:52 +02:00
9ac9139b35 Resetta Turnstile dopo un invio contatti fallito. (#20)
Il token viene consumato al primo POST: senza reset i retry falliscono la verifica anti-spam.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 16:52:40 +02:00
6339325e6a Rimuove la nota interna dalle impostazioni cookie del footer. (#19)
Il testo tra parentesi non è destinato alla UI di produzione.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 15:29:01 +02:00
4b70c940db Gestisce errori email del form contatti senza 500 opaco. (#18)
Invia via fetch/JSON, cattura fallimenti Cloudflare Email (con retry senza Reply-To) e reindirizza a #contatti.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 15:24:28 +02:00
2c3df8371d chore: rebuild per PUBLIC_CONTACT_TURNSTILE_SITE_KEY
Rilancia Workers Builds dopo l'aggiunta della site key Turnstile in Build variables.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 15:04:53 +02:00
daa2a245a5 Merge pull request #17 from javaxman/fix/newsletter-confirm-unsubscribe-link
Link disiscrizione sulla pagina di conferma newsletter
2026-07-29 14:49:06 +02:00
770db3067d Mostra il link di disiscrizione dopo la conferma newsletter.
Passa il token unsub alla pagina di conferma e lo include anche nell'email di double opt-in.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 14:45:54 +02:00
6ba58c3a86 Merge pull request #16 from javaxman/fix/newsletter-turnstile-optional
Fix Turnstile sul form newsletter
2026-07-29 14:40:21 +02:00
8a99290209 Non richiedere Turnstile contatti sul form newsletter.
Il footer non ha il widget Turnstile: evita il fallimento usando solo NEWSLETTER_TURNSTILE_SECRET_KEY.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 14:39:52 +02:00
c04d43d9d7 Merge pull request #15 from javaxman/fix/astro6-cloudflare-workers-env
Fix env Cloudflare per Astro 6 (contatti e newsletter)
2026-07-29 14:08:25 +02:00
c4adc116d6 Corregge l'accesso all'env Worker per Astro 6.
Sostituisce locals.runtime.env con import da cloudflare:workers, ripristinando contatti e newsletter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 14:06:16 +02:00
44007f99e1 Merge pull request #14 from javaxman/feat/cloudflare-email-sending
Sostituisce Resend con Cloudflare Email Service
2026-07-29 09:55:05 +02:00
0743521d48 Sostituisce Resend con Cloudflare Email Service.
Usa il binding EMAIL per contatti e newsletter, eliminando la dipendenza da Resend e dalle relative API key.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 09:54:12 +02:00
2b470c778a Merge pull request #13 from javaxman/feat/newsletter-custom
Aggiunge newsletter custom con D1 e double opt-in
2026-07-28 23:27:00 +02:00
7aff1abcfb 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>
2026-07-28 23:23:19 +02:00
9a8566a3f5 test: verifica definitiva Workers Builds su main
Conferma che il token cloudflare_nexstudio_build_worker_07_2026 funziona sul percorso di produzione.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 23:02:49 +02:00
ed14c7f6a9 Merge pull request #12 from javaxman/docs/legal-texts-update
Aggiorna testi legali cookie, privacy, GDPR e condizioni d'uso
2026-07-28 12:33:10 +02:00
5854401de3 Aggiorna i testi legali del sito alla versione 1.1.
Allinea condizioni d'uso, cookie policy, privacy e GDPR a NexStudio S.r.l. (Italia), mantenendo placeholder per indirizzo, P.IVA e data.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 12:31:54 +02:00
c793688762 Merge pull request #11 from javaxman/feat/issue-5-i18n-home-menu-footer
Fix caricamento CSS su route EN e TH
2026-04-27 13:43:55 +02:00
d12826b314 Aggiunge un link esplicito al CSS compilato in BaseLayout.
Garantisce che le route /en e /th carichino sempre il foglio stile Astro anche quando il wrapping della homepage non aggancia automaticamente l'asset.

Made-with: Cursor
2026-04-27 13:33:50 +02:00
85e470f58a Merge pull request #10 from javaxman/feat/issue-5-i18n-home-menu-footer
Rollback regressione CSS globale su BaseLayout
2026-04-27 11:43:46 +02:00
b7e051ec34 Ripristina il caricamento CSS compilato di Astro nel BaseLayout.
Rimuove l'iniezione inline del file sorgente Tailwind che aveva rotto lo stile anche sulla home italiana in produzione.

Made-with: Cursor
2026-04-27 11:39:05 +02:00
ffdb6979ff Merge pull request #9 from javaxman/feat/issue-5-i18n-home-menu-footer
Fix CSS globale su route localizzate EN TH
2026-04-27 11:23:22 +02:00
c6d13418f7 Forza il caricamento del CSS globale nel BaseLayout con iniezione inline.
Evita il caso in cui le route localizzate /en e /th perdono il link stylesheet hashed e rendono la pagina senza stili.

Made-with: Cursor
2026-04-27 11:19:50 +02:00
ee610a8853 Merge pull request #8 from javaxman/feat/issue-5-i18n-home-menu-footer
Avvia i18n reale home IT EN TH e corregge rendering locale
2026-04-27 10:20:29 +02:00
01e3815820 Corregge il rendering della home localizzata spostando l'inizializzazione del carosello dopo stackSection.
Evita l'errore runtime su /en e /th che causava pagina vuota o UI rotta nel selettore lingua.

Made-with: Cursor
2026-04-27 09:49:40 +02:00
0714ec1335 Avvia i18n reale della home su IT EN TH.
Introduco contenuti localizzati per menu, footer e principali sezioni della homepage, includendo il form contatti e i messaggi client per mantenere coerenza UX tra le tre lingue.

Made-with: Cursor
2026-04-27 09:12:00 +02:00
ddab32d3ef Riduce il routing del contact form pubblico a info, privacy e careers.
Allinea backend, configurazione env e documentazione al nuovo modello vetrina con destinatari meno granulari.

Made-with: Cursor
2026-04-24 21:32:15 +02:00
f33d29fe7b Rende operativa la pagina news e sostituisce il README starter con un runbook di progetto.
Allinea la documentazione a setup, deploy Cloudflare e gestione contatti per supportare il go-live.

Made-with: Cursor
2026-04-24 20:59:53 +02:00