Commit Graph

59 Commits

Author SHA1 Message Date
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
9017c933f4 Completa base SEO con sitemap robots e meta canonical OG
Aggiunge integrazione @astrojs/sitemap, pubblica robots.txt su nexstudio.ai e imposta canonical/OG/Twitter base nel layout principale.

Made-with: Cursor
2026-04-24 17:14:22 +02:00
856e20c19c Imposta dominio produzione nexstudio.ai e allinea note operative
Conferma site in Astro config sul dominio effettivo e documenta hostnames Turnstile consigliati per produzione e locale.

Made-with: Cursor
2026-04-24 15:58:03 +02:00
6ca0256bf7 Allinea il flusso contatti a info support no-reply
Completa il routing reparto con account support e aggiorna documentazione/env per usare info come fallback e no-reply come mittente tecnico.

Made-with: Cursor
2026-04-24 11:36:58 +02:00
70759d6c1c Aggiunge routing contatti per reparto con endpoint Cloudflare e Resend
Introduce selettore reparto nel form, instradamento verso destinatari dedicati via variabili ambiente e fallback al destinatario generale. Mantiene modalita dev/live e validazione Turnstile lato server.

Made-with: Cursor
2026-04-23 21:12:45 +02:00
5ab329adbf Implementa endpoint contatti Cloudflare con supporto Resend e modalita dev/live
Configura il form per usare /api/contact di default, aggiunge API server-side con verifica Turnstile opzionale e invio Resend in live mode, e documenta variabili ambiente in README/.env.example.

Made-with: Cursor
2026-04-23 21:05:31 +02:00
1cd779b3c7 Corregge il deploy Cloudflare usando il config generato da Astro
Aggiunge lo script deploy:cf con build + wrangler deploy su dist/server/wrangler.json e documenta il setup consigliato per evitare l'errore di entrypoint mancante.

Made-with: Cursor
2026-04-23 17:05:41 +02:00
768586bdc5 Ripristina card servizi e sistema typing plugin Vite
Made-with: Cursor
2026-04-23 16:43:28 +02:00
c94b405251 Aggiorna la card di manutenzione con accento ocra visibile
Applica evidenza su bordo e parole chiave della card Aggiornamento e manutenzione evolutiva e versiona la regola Cursor per il workflow Git su branch dedicati.

Made-with: Cursor
2026-04-23 15:07:09 +02:00