Initial commit: sito NexStudio (Astro) con Cloudflare, CMS cookie e contenuti legali
- Home: hero, prodotti, servizi, stack, FAQ, CTA con form contatti inline (glossy) e particelle - Header nero, menu con scroll-spy e alone su voce attiva, CTA Chattiamo (pre-chat) - Pagine: privacy, cookie, GDPR, terms, about, codice etico, modello organizzativo, dove siamo, news - Cookie consent first-party, chat gate, stampe-friendly su SubpageLayout - Footer: Sezioni con Contattaci, Azienda con Dove siamo senza link per ora - .gitignore: aggiunto .wrangler/ per stato locale Cloudflare Made-with: Cursor
This commit is contained in:
45
src/data/cookie-consent.ts
Normal file
45
src/data/cookie-consent.ts
Normal file
@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Consenso cookie — NexStudio CMP (dimostrativo / produzione light).
|
||||
* Allineare `policyVersion` quando cambiano categorie o testi legali rilevanti.
|
||||
*/
|
||||
export const cookieConsentMeta = {
|
||||
storageKey: 'nexstudio.cookieConsent',
|
||||
policyVersion: '1.0',
|
||||
} as const;
|
||||
|
||||
export type CookieCategoryId =
|
||||
| 'necessary'
|
||||
| 'preferences'
|
||||
| 'analytics'
|
||||
| 'marketing';
|
||||
|
||||
export const cookieCategories = [
|
||||
{
|
||||
id: 'necessary' as const,
|
||||
label: 'Strettamente necessari',
|
||||
description:
|
||||
'Memorizzazione delle preferenze di consenso, sicurezza e funzioni indispensabili al sito. Non possono essere disattivati dal pannello.',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: 'preferences' as const,
|
||||
label: 'Preferenze e funzionalità',
|
||||
description:
|
||||
'Ricordare impostazioni opzionali (es. lingua, tema) se introdotte in futuro.',
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
id: 'analytics' as const,
|
||||
label: 'Misurazione e statistica',
|
||||
description:
|
||||
'Cookie o SDK per capire come viene usato il sito (es. analytics), solo se attivati dal codice dopo consenso.',
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
id: 'marketing' as const,
|
||||
label: 'Marketing e profilazione leggera',
|
||||
description:
|
||||
'Strumenti pubblicitari, remarketing o pixel social, solo se collegati e dopo consenso esplicito.',
|
||||
required: false,
|
||||
},
|
||||
] as const;
|
||||
57
src/data/home/chat.ts
Normal file
57
src/data/home/chat.ts
Normal file
@ -0,0 +1,57 @@
|
||||
/**
|
||||
* Chat live: prima identificazione (email → link/codice), poi sessione.
|
||||
*
|
||||
* `entryUrl`: dove aprire la chat dopo l’accesso (es. `/#contatti`, widget https, wa.me).
|
||||
* `prechat`: invio richiesta con Formspree (`actionUrl`) o `mailto:` se l’URL è vuoto.
|
||||
* `prechat.openChatAfterSubmit`: se `true`, dopo invio riuscito apre subito `entryUrl` (es. prova interna);
|
||||
* con flusso token via email lasciare `false` e usare `successMessage`.
|
||||
*/
|
||||
|
||||
/** Destinazione della chat dopo identificazione / click su «Entra» */
|
||||
const entryUrl = '/#contatti';
|
||||
// Esempio WhatsApp: `https://wa.me/TUO_NUMERO?text=` + encodeURIComponent('Ciao NexStudio...');
|
||||
|
||||
export const chat = {
|
||||
entryUrl,
|
||||
/** Nuova scheda solo per link esterni (wa.me, widget, ecc.) */
|
||||
openInNewTab: entryUrl.startsWith('http'),
|
||||
linkTitle:
|
||||
'Accesso alla chat NexStudio: stato canale, email di verifica e assistenza in più lingue.',
|
||||
|
||||
/**
|
||||
* Cosa vede l’utente **prima** di inserire email: chi risponde (umano / bot / entrambi).
|
||||
* Aggiorna i testi in base agli orari effettivi del team.
|
||||
*/
|
||||
availability: {
|
||||
badge: 'Operatore umano in orario · chatbot sempre attivo',
|
||||
body:
|
||||
'In orario lavorativo un operatore NexStudio può intervenire in chat; all’ingresso il chatbot può raccogliere il contesto iniziale e smistare la richiesta. Fuori orario la conversazione può proseguire con il solo chatbot fino al rientro del team. Lo stato effettivo è indicato qui sopra prima di procedere.',
|
||||
},
|
||||
|
||||
prechat: {
|
||||
title: 'Prima della chat',
|
||||
intro:
|
||||
'Per evitare attese inutili chiediamo l’indirizzo email a cui inviarti un link o un codice monouso per aprire la sessione in modo sicuro. Dopo la verifica potrai usare la chat dal canale che ti indicheremo.',
|
||||
nameLabel: 'Nome (facoltativo)',
|
||||
emailLabel: 'Email',
|
||||
submitLabel: 'Richiedi accesso alla chat',
|
||||
/** Visibile dopo l’invio riuscito: utile se il link nella mail punta allo stesso `entryUrl` */
|
||||
enterChatLabel: 'Ho ricevuto il messaggio — apri la chat',
|
||||
closeLabel: 'Chiudi',
|
||||
successMessage:
|
||||
'Controlla la posta in arrivo: ti abbiamo inviato le istruzioni (link o codice) per entrare in chat. Se non vedi nulla, controlla anche lo spam.',
|
||||
/** Formspree dedicato alla richiesta accesso chat — vuoto = prova `mailto` */
|
||||
actionUrl: '',
|
||||
/** Se `actionUrl` è vuoto */
|
||||
mailto: '',
|
||||
notifySubject: 'Richiesta accesso chat — sito NexStudio',
|
||||
successRedirect: '',
|
||||
fieldName: 'name',
|
||||
fieldEmail: 'email',
|
||||
/**
|
||||
* Dopo POST Formspree riuscito: apri subito `entryUrl` (es. test con pagina contatti).
|
||||
* Con invio token via email da backend: `false`.
|
||||
*/
|
||||
openChatAfterSubmit: false,
|
||||
},
|
||||
} as const;
|
||||
40
src/data/home/cta.ts
Normal file
40
src/data/home/cta.ts
Normal file
@ -0,0 +1,40 @@
|
||||
/** Call-to-action (blocco contatti / chiusura pagina) */
|
||||
export const cta = {
|
||||
/** Titolo CTA su due righe (dopo il punto) */
|
||||
titleLine1: 'Automatizza il complesso.',
|
||||
titleLine2: 'Velocizza il processo.',
|
||||
body:
|
||||
'Dai modelli LLM alla distribuzione globale in pochi millisecondi. La directory definitiva per il LegalTech e MedTech. Utilizza il modulo contatto qui a fianco e ti forniremo tutti i chiarimenti che ti servono.',
|
||||
|
||||
/**
|
||||
* Modulo contatti in pagina (sezione Contatti).
|
||||
*
|
||||
* **Formspree:** crea un form su https://formspree.io e incolla l’URL in `actionUrl`.
|
||||
* **Solo mailto:** lascia `actionUrl` vuoto e imposta `mailto` con l’indirizzo destinatario
|
||||
* (si apre il client di posta dell’utente).
|
||||
*/
|
||||
contactForm: {
|
||||
title: 'Parliamone',
|
||||
description:
|
||||
'Lascia i tuoi dati e il messaggio: ti risponde il team NexStudio.',
|
||||
nameLabel: 'Nome',
|
||||
companyLabel: 'Azienda (opzionale)',
|
||||
countryLabel: 'Paese',
|
||||
emailLabel: 'Email',
|
||||
messageLabel: 'Scrivi qui il tuo messaggio',
|
||||
submitLabel: 'Invia messaggio',
|
||||
/** Formspree: `https://formspree.io/f/xxxx` — vuoto = prova `mailto` */
|
||||
actionUrl: '',
|
||||
/** Formspree: redirect dopo invio (`_next`) — URL **assoluta** in produzione */
|
||||
successRedirect: '',
|
||||
/** Formspree `_subject` e oggetto mailto */
|
||||
notifySubject: 'Richiesta contatto — sito NexStudio',
|
||||
/** Se `actionUrl` è vuoto: email per `mailto:` (es. `info@tuodominio.com`) */
|
||||
mailto: '',
|
||||
fieldName: 'name',
|
||||
fieldCompany: 'company',
|
||||
fieldCountry: 'country',
|
||||
fieldEmail: 'email',
|
||||
fieldMessage: 'message',
|
||||
},
|
||||
} as const;
|
||||
47
src/data/home/faq.ts
Normal file
47
src/data/home/faq.ts
Normal file
@ -0,0 +1,47 @@
|
||||
/** FAQ — domande/risposte allineate a hero, prodotti, servizi e stack */
|
||||
export const faq = {
|
||||
eyebrow: 'FAQ',
|
||||
title: 'Domande frequenti',
|
||||
items: [
|
||||
{
|
||||
question: 'Che tipo di organizzazioni seguite con LexAura e MediAura?',
|
||||
answer:
|
||||
'Lavoriamo con studi legali e strutture sanitarie — dal professionista singolo a team e sedi multi‑unità — che gestiscono volumi elevati di informazione e hanno bisogno di strumenti affidabili in ambiti regolamentati. La verticalità su Legal Tech e Health Tech è parte della nostra proposta: meno genericismo, più requisiti operativi, tracciabilità e continuità del servizio.',
|
||||
},
|
||||
{
|
||||
question: 'L’intelligenza artificiale sostituisce avvocati o medici?',
|
||||
answer:
|
||||
'No. I nostri prodotti sono pensati per integrarsi nei flussi professionali: sintesi, ricerca, drafting assistito, automazione della documentazione e interfacce vocali liberano tempo, ma la decisione finale e la responsabilità restano del professionista. L’obiettivo è ridurre il carico ripetitivo e offrire una base analitica solida, non sostituire il giudizio umano.',
|
||||
},
|
||||
{
|
||||
question: 'Cosa succede dopo l’adozione del software?',
|
||||
answer:
|
||||
'Il modello di servizio va oltre la licenza: onboarding e formazione specialistica per team legali e sanitari, supporto tecnico e consulenza operativa continuativi, aggiornamento dei motori di analisi e manutenzione evolutiva rispetto a normative e contesto di mercato. Per criticità urgenti sono previsti protocolli di intervento prioritario, così che studi e strutture non restino isolati dai propri strumenti.',
|
||||
},
|
||||
{
|
||||
question: 'Potete collegare LexAura o MediAura ai nostri sistemi già in uso?',
|
||||
answer:
|
||||
'Sì, quando serve. Oltre ai prodotti standard supportiamo integrazioni tramite API e moduli personalizzati nel perimetro dei nostri SaaS, per collegare gestionali o flussi documentali preesistenti senza reinventare l’intero stack informativo.',
|
||||
},
|
||||
{
|
||||
question: 'Come gestite sicurezza, disponibilità e dati sensibili?',
|
||||
answer:
|
||||
'Progettiamo su architetture cloud‑native ad alta disponibilità, con attenzione a crittografia, protezione di perimetro (es. WAF, mitigazione DDoS) e continuità operativa. Il trattamento di informazioni legali e sanitarie è affrontato con criteri di integrità dei dati e conformità alle normative applicabili, inclusa la chiarezza su dove risiedono i dati e sui requisiti di due diligence che i settori regolamentati si attendono.',
|
||||
},
|
||||
{
|
||||
question: 'Lavorate solo in loco o anche con clienti in Italia e all’estero?',
|
||||
answer:
|
||||
'Siamo una software company con base operativa a Bangkok e collaboriamo con clienti a livello internazionale. Workshop e incontri possono essere online o in presenza in base al progetto; supporto e comunicazioni operative in italiano, inglese, tedesco, francese, spagnolo o tailandese, con orari concordati.',
|
||||
},
|
||||
{
|
||||
question: 'Diritto d’uso e proprietà del software: come le regolate?',
|
||||
answer:
|
||||
'Dipende dal contratto: in genere cediamo l’esclusiva sul deliverable a saldo, con clausole esplicite su componenti open source e librerie di terze parti. Per licenze SaaS, permessi d’uso e responsabilità sono definiti nei termini commerciali e nel contratto quadro.',
|
||||
},
|
||||
{
|
||||
question: 'Qual è il modo più rapido per parlarne con voi?',
|
||||
answer:
|
||||
'Il punto di ingresso principale è la chat dal pulsante «Chattiamo» in header: prima vedi se il canale è con operatore umano, solo chatbot o misto, poi lasci email (e facoltativamente il nome) per ricevere un link o un codice monouso e aprire la sessione senza perdite di tempo. In chat operatore umano e chatbot collaborano per orientamento iniziale, requisiti e passi successivi. Per il supporto via web ci interfacciamo in italiano, inglese, tedesco, francese, spagnolo o tailandese. Per materiale sensibile useremo sempre i canali concordati in fase di rapporto commerciale. Se ci si sente più a proprio agio usando un form di contatto, in fondo alla homepage nella sezione Contatti trovate il modulo a destra del testo introduttivo.',
|
||||
},
|
||||
] as const,
|
||||
} as const;
|
||||
89
src/data/home/footer.ts
Normal file
89
src/data/home/footer.ts
Normal file
@ -0,0 +1,89 @@
|
||||
/** Footer — griglia 4 colonne (link); newsletter in blocco unico sotto, allineata a sinistra */
|
||||
export const footer = {
|
||||
brandName: 'NexStudio',
|
||||
tagline: 'Ingegneria del software e IA per settori regolamentati.',
|
||||
legalLine: 'P.IVA e note legali: da inserire.',
|
||||
|
||||
columnTitles: {
|
||||
sections: 'Sezioni',
|
||||
legal: 'Normative',
|
||||
social: 'Reti sociali',
|
||||
company: 'Azienda',
|
||||
} as const,
|
||||
|
||||
/** Colonna 1 — ancore sulla homepage */
|
||||
homeNav: [
|
||||
{ label: 'Prodotti', href: '/#prodotti' },
|
||||
{ label: 'Servizi', href: '/#servizi' },
|
||||
{ label: 'Stack', href: '/#stack' },
|
||||
{ label: 'FAQ', href: '/#faq' },
|
||||
{ label: 'Contattaci', href: '/#contatti' },
|
||||
] as const,
|
||||
|
||||
/** Pannello preferenze (CMP): non è un documento legale; tenuto fuori dalla colonna Normative */
|
||||
cookiePreferences: {
|
||||
label: 'Impostazioni cookie',
|
||||
hint: 'Preferenze di consenso sul tuo browser (non è un testo legale).',
|
||||
} as const,
|
||||
|
||||
/** Colonna 2 — documenti legali (testi bozza nelle rispettive pagine) */
|
||||
legalColumnNav: [
|
||||
{ label: 'Condizioni d’uso', href: '/terms' },
|
||||
{ label: 'Informativa cookie', href: '/cookies' },
|
||||
{ label: 'Privacy', href: '/privacy' },
|
||||
{ label: 'Diritti privacy (GDPR)', href: '/gdpr' },
|
||||
] as const,
|
||||
|
||||
/**
|
||||
* Colonna 3 — social (sostituire gli URL con i profili reali).
|
||||
* Lasciare `href` vuoto per mostrare solo etichetta disabilitata finché non configurato.
|
||||
*/
|
||||
socialLinks: [
|
||||
{ label: 'Facebook', href: '' },
|
||||
{ label: 'LinkedIn', href: '' },
|
||||
{ label: 'Twitter / X', href: '' },
|
||||
{ label: 'GitHub', href: '' },
|
||||
] as const,
|
||||
|
||||
/** Colonna 4 — pagine istituzionali e compliance */
|
||||
companyNav: [
|
||||
{ label: 'Chi siamo', href: '/about' },
|
||||
{ label: 'Codice etico', href: '/codice-etico' },
|
||||
{ label: 'Modello organizzativo', href: '/modello-organizzativo' },
|
||||
/** `href` vuoto = etichetta senza link (es. in attesa di pagina) */
|
||||
{ label: 'Dove siamo', href: '' },
|
||||
] as const,
|
||||
|
||||
/**
|
||||
* Newsletter — invio via POST a un endpoint esterno.
|
||||
*
|
||||
* Opzione A (consigliata per partire): Formspree
|
||||
* 1. Crea account su https://formspree.io e un nuovo form.
|
||||
* 2. Copia l’URL tipo `https://formspree.io/f/abcdefgh` in `actionUrl`.
|
||||
* 3. Opzionale: `successRedirect` = URL assoluta della pagina di ringraziamento
|
||||
* (es. `https://tuodominio.com/newsletter/grazie` — vedi `src/pages/newsletter/grazie.astro`).
|
||||
* 4. In Formspree collega l’invio a email / Slack / Google Sheets.
|
||||
*
|
||||
* Opzione B: Brevo, Mailchimp, Buttondown, ConvertKit — usano spesso un URL
|
||||
* dedicato o un embed; adatta `fieldName` al nome campo richiesto dalla doc.
|
||||
*
|
||||
* Opzione C: Worker Cloudflare + lista in KV/D1 (più controllo, più codice).
|
||||
*/
|
||||
newsletter: {
|
||||
title: 'Newsletter',
|
||||
description: 'Aggiornamenti su prodotti e roadmap.',
|
||||
placeholder: 'La tua email',
|
||||
buttonLabel: 'Iscriviti',
|
||||
/** Formspree: `https://formspree.io/f/xxxx` — vuoto = modulo disabilitato */
|
||||
actionUrl: '',
|
||||
/** Nome campo email richiesto dal provider (Formspree: di solito `email`) */
|
||||
fieldName: 'email',
|
||||
/**
|
||||
* Formspree: redirect dopo invio (`_next`). Deve essere URL **assoluta**
|
||||
* (es. produzione). Vuoto = pagina di ringrazio predefinita Formspree.
|
||||
*/
|
||||
successRedirect: '',
|
||||
/** Formspree: oggetto della mail di notifica (`_subject`) */
|
||||
notifySubject: 'Nuova iscrizione newsletter — NexStudio',
|
||||
},
|
||||
} as const;
|
||||
29
src/data/home/hero.ts
Normal file
29
src/data/home/hero.ts
Normal file
@ -0,0 +1,29 @@
|
||||
/** Sezione hero */
|
||||
export const hero = {
|
||||
badge: 'Restituiamo valore al tuo tempo',
|
||||
/** Parte prima dell’evidenziazione nel titolo */
|
||||
titleBefore: "Ingegneria del software per l'era dell'",
|
||||
/** Segmento con gradiente nel titolo */
|
||||
titleHighlight: 'Intelligenza Artificiale',
|
||||
titleAfter: '.',
|
||||
subtitle:
|
||||
'Sviluppiamo soluzioni SaaS ad alta complessità per settori regolamentati.',
|
||||
/** Paragrafi introduttivi */
|
||||
paragraphs: [
|
||||
"Ci occupiamo di progettazione di ecosistemi digitali evoluti. La nostra specializzazione risiede nell'integrazione di modelli di Intelligenza Artificiale all'interno di flussi di lavoro professionali dove precisione, sicurezza e affidabilità sono requisiti non negoziabili.",
|
||||
'Il nostro approccio si concentra sulla trasformazione di dati complessi in strumenti operativi fluidi, attraverso lo sviluppo di algoritmi proprietari, interfacce vocali e architetture cloud scalabili.',
|
||||
] as const,
|
||||
businessUnitsHeading: 'Le nostre Business Unit:',
|
||||
businessUnitsIntro:
|
||||
'Operiamo attraverso divisioni specializzate per garantire la massima verticalità e competenza di dominio:',
|
||||
businessUnits: [
|
||||
{
|
||||
name: 'Legal Tech',
|
||||
description: "Soluzioni per l'automazione e l'analisi normativa.",
|
||||
},
|
||||
{
|
||||
name: 'Health Tech',
|
||||
description: 'Sistemi avanzati per la gestione e l’automazione sanitaria.',
|
||||
},
|
||||
] as const,
|
||||
} as const;
|
||||
15
src/data/home/index.ts
Normal file
15
src/data/home/index.ts
Normal file
@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Contenuti della home, per categoria.
|
||||
* Modifica i file in questa cartella per aggiornare testi senza toccare il markup.
|
||||
*/
|
||||
export { siteMeta } from './site-meta';
|
||||
export { chat } from './chat';
|
||||
export { navigation } from './navigation';
|
||||
export { hero } from './hero';
|
||||
export { stats } from './stats';
|
||||
export { services } from './services';
|
||||
export { stackSection } from './stack';
|
||||
export { productsSection } from './products';
|
||||
export { faq } from './faq';
|
||||
export { cta } from './cta';
|
||||
export { footer } from './footer';
|
||||
19
src/data/home/navigation.ts
Normal file
19
src/data/home/navigation.ts
Normal file
@ -0,0 +1,19 @@
|
||||
import { chat } from './chat';
|
||||
|
||||
/** Header — CTA unico: ingresso chat live (config in `chat.ts`) */
|
||||
export const navigation = {
|
||||
brandName: 'NexStudio',
|
||||
items: [
|
||||
{ label: 'Prodotti', href: '/#prodotti' },
|
||||
{ label: 'Servizi', href: '/#servizi' },
|
||||
{ label: 'Stack', href: '/#stack' },
|
||||
{ label: 'FAQ', href: '/#faq' },
|
||||
{ label: 'Contattaci', href: '/#contatti' },
|
||||
] as const,
|
||||
cta: {
|
||||
label: 'Chattiamo',
|
||||
linkTitle: chat.linkTitle,
|
||||
ariaLabel:
|
||||
'Richiedi accesso alla chat NexStudio: stato operatore e chatbot, identificazione con email (link o codice) prima della sessione.',
|
||||
},
|
||||
} as const;
|
||||
57
src/data/home/products.ts
Normal file
57
src/data/home/products.ts
Normal file
@ -0,0 +1,57 @@
|
||||
/** Sezione prodotti — LexAura (Legal Tech), MediAura (Health Tech) */
|
||||
export const productsSection = {
|
||||
eyebrow: 'Prodotti',
|
||||
title: 'LexAura e MediAura',
|
||||
lead:
|
||||
'Due piattaforme SaaS verticali per professionisti del diritto e della sanità: AI integrata dove precisione e conformità sono fondamentali.',
|
||||
items: [
|
||||
{
|
||||
id: 'lexaura',
|
||||
name: 'LexAura',
|
||||
badge: 'Legal Tech',
|
||||
tagline: 'Il supporto analitico per l’eccellenza legale.',
|
||||
focus: 'Gestione dati, memorie e contrattualistica.',
|
||||
body:
|
||||
'LexAura è la piattaforma SaaS di NexStudio dedicata ai professionisti del diritto. Sviluppata per ottimizzare la gestione di carichi informativi elevati, LexAura utilizza l’Intelligenza Artificiale per l’incrocio dinamico di leggi, sentenze e normative.',
|
||||
highlights: [
|
||||
{
|
||||
title: 'Sintesi normativa',
|
||||
text: 'Analisi accelerata dei precedenti e delle fonti.',
|
||||
},
|
||||
{
|
||||
title: 'Drafting assistito',
|
||||
text: 'Supporto alla stesura di memorie difensive e contratti complessi.',
|
||||
},
|
||||
{
|
||||
title: 'Workflow integration',
|
||||
text: 'Automazione dei processi documentali per lo studio legale moderno.',
|
||||
},
|
||||
] as const,
|
||||
closing:
|
||||
'L’obiettivo di LexAura non è sostituire l’avvocato, ma liberarne il tempo, garantendo una base analitica solida e tempestiva.',
|
||||
},
|
||||
{
|
||||
id: 'mediaura',
|
||||
name: 'MediAura',
|
||||
badge: 'Health Tech',
|
||||
tagline: 'L’automazione intelligente al servizio della medicina.',
|
||||
focus: 'Flussi di lavoro, comandi vocali, scalabilità.',
|
||||
body:
|
||||
'MediAura è il sistema SaaS progettato da NexStudio per abbattere il carico burocratico in ambito sanitario. Dallo studio professionale alla struttura ospedaliera, il software coordina i flussi operativi attraverso un alto grado di automazione e interazione naturale.',
|
||||
highlights: [
|
||||
{
|
||||
title: 'Voice-first interface',
|
||||
text: 'Gestione dei flussi e della refertazione tramite comandi vocali avanzati.',
|
||||
},
|
||||
{
|
||||
title: 'Scalabilità operativa',
|
||||
text: 'Un’architettura che si adatta alle dimensioni della struttura, dal singolo medico alla gestione di reparti complessi.',
|
||||
},
|
||||
{
|
||||
title: 'Ottimizzazione del flusso',
|
||||
text: 'Automazione delle attività di routine per restituire centralità al rapporto medico-paziente.',
|
||||
},
|
||||
] as const,
|
||||
},
|
||||
] as const,
|
||||
} as const;
|
||||
52
src/data/home/services.ts
Normal file
52
src/data/home/services.ts
Normal file
@ -0,0 +1,52 @@
|
||||
/**
|
||||
* Servizi (griglia bento).
|
||||
* layout: wide = 2 colonne, tall = 2 righe + elenco puntato
|
||||
*/
|
||||
export const services = {
|
||||
eyebrow: 'I nostri servizi',
|
||||
title: 'Supporto, implementazione ed evoluzione',
|
||||
lead:
|
||||
'In NexStudio, il nostro impegno non si esaurisce con la fornitura della licenza software. Il nostro modello di servizio è progettato per garantire che ogni professionista e struttura possa estrarre il massimo valore dalle potenzialità dell’Intelligenza Artificiale integrata in LexAura e MediAura.',
|
||||
cards: [
|
||||
{
|
||||
layout: 'tall' as const,
|
||||
/** Sfera geodetica vettoriale (SVG) in basso a destra */
|
||||
decoration: 'wireframe-globe' as const,
|
||||
title: 'Onboarding e formazione specialistica',
|
||||
body:
|
||||
'L’adozione di un sistema basato su IA richiede un passaggio metodologico, non solo tecnico. Offriamo programmi di formazione dedicati per team legali e medici, finalizzati a:',
|
||||
bullets: [
|
||||
'Ottimizzare l’interazione con gli algoritmi di ricerca e sintesi.',
|
||||
'Padroneggiare i comandi vocali e l’automazione dei flussi documentali.',
|
||||
'Ridurre drasticamente la curva di apprendimento tecnologico.',
|
||||
],
|
||||
},
|
||||
{
|
||||
layout: 'wide' as const,
|
||||
title: 'Supporto Tecnico e Consulenza Operativa',
|
||||
body:
|
||||
'Forniamo un’assistenza continua e di alto profilo per garantire la costante continuità operativa dei vostri sistemi. NexStudio non agisce come un semplice fornitore di supporto tecnico, ma come un partner strategico che affianca lo studio o la struttura sanitaria nell’ottimizzazione dei processi interni attraverso l’uso dei nostri SaaS.',
|
||||
callout: {
|
||||
title: 'Intervento «Breaking Glass»',
|
||||
body:
|
||||
'Per le situazioni di estrema urgenza o criticità sistemica, garantiamo protocolli di accesso rapido e intervento prioritario. Questa procedura di emergenza permette di superare i normali flussi di assistenza per risolvere istantaneamente anomalie che potrebbero impattare sulla continuità del servizio, assicurando che il professionista non resti mai isolato dai propri dati o strumenti decisionali.',
|
||||
},
|
||||
},
|
||||
{
|
||||
layout: 'default' as const,
|
||||
title: 'Estensioni e integrazioni personalizzate',
|
||||
body:
|
||||
'Sebbene LexAura e MediAura siano prodotti finiti e pronti all’uso, comprendiamo che strutture complesse possano avere esigenze di interconnessione specifiche.',
|
||||
bullets: [
|
||||
'API integration: supportiamo l’integrazione dei nostri SaaS con sistemi gestionali preesistenti.',
|
||||
'Custom modules: progettiamo estensioni su misura che aggiungono funzionalità specifiche all’interno del perimetro dei nostri prodotti, per rispondere a flussi di lavoro unici.',
|
||||
],
|
||||
},
|
||||
{
|
||||
layout: 'default' as const,
|
||||
title: 'Aggiornamento e manutenzione evolutiva',
|
||||
body:
|
||||
'Il mondo dell’IA e delle normative (legali e sanitarie) è in costante mutamento. Il nostro servizio include l’aggiornamento continuo dei motori di analisi, garantendo che il software sia sempre allineato con le ultime tecnologie e le evoluzioni del mercato di riferimento.',
|
||||
},
|
||||
],
|
||||
} as const;
|
||||
6
src/data/home/site-meta.ts
Normal file
6
src/data/home/site-meta.ts
Normal file
@ -0,0 +1,6 @@
|
||||
/** Meta pagina principale — usato da BaseLayout */
|
||||
export const siteMeta = {
|
||||
title: 'NexStudio — Ingegneria del software e IA per settori regolamentati',
|
||||
description:
|
||||
'NexStudio: software company con sede a Bangkok. SaaS ad alta complessità, integrazione di IA in flussi professionali, Legal Tech e Health Tech.',
|
||||
} as const;
|
||||
106
src/data/home/stack.ts
Normal file
106
src/data/home/stack.ts
Normal file
@ -0,0 +1,106 @@
|
||||
/** Sezione stack — infrastruttura Cloudflare e sicurezza */
|
||||
export const stackSection = {
|
||||
eyebrow: 'Lo stack tecnologico',
|
||||
title: 'Infrastruttura e sicurezza',
|
||||
lead:
|
||||
'In NexStudio, la qualità dell’esperienza utente è inscindibile dalla solidità dell’infrastruttura. Per questo motivo ci affidiamo a partner globali ad alta efficienza che garantiscono i più elevati standard di disponibilità e protezione dei dati.',
|
||||
cloudflare: {
|
||||
title: 'Ecosistema Cloudflare',
|
||||
intro:
|
||||
"«Cloudflare punta ad accelerare le prestazioni, garantire la disponibilità delle app e ottimizzare l'esperienza web per gli utenti a livello globale.»",
|
||||
points: [
|
||||
{
|
||||
title: 'Performance senza compromessi',
|
||||
body:
|
||||
'L’accesso ai nostri servizi è immediato e a bassa latenza in qualsiasi parte del mondo, assicurando fluidità anche durante le operazioni di elaborazione dati più complesse.',
|
||||
},
|
||||
{
|
||||
title: 'Sicurezza Advanced',
|
||||
body:
|
||||
'Utilizziamo implementazioni di soluzioni di protezione di ultima generazione, tra cui crittografia end-to-end, protezione da attacchi DDoS e Web Application Firewall (WAF). Ogni interazione con i nostri software avviene in un ambiente protetto e isolato.',
|
||||
},
|
||||
{
|
||||
title: 'Compliance e data integrity',
|
||||
body:
|
||||
'Sfruttiamo le tecnologie di gestione dei dati geografici per garantire che il trattamento delle informazioni sensibili — legali e mediche — avvenga sempre nel pieno rispetto delle normative locali e internazionali sulla privacy e sulla sovranità del dato.',
|
||||
},
|
||||
],
|
||||
},
|
||||
continuity: {
|
||||
title: 'Continuità e scalabilità',
|
||||
body:
|
||||
'Garantiamo una uptime SLA (Service Level Agreement) di livello professionale. La nostra architettura è cloud-native: può scalare istantaneamente per gestire picchi di lavoro o grandi uffici e strutture multi-sede senza mai degradare le prestazioni.',
|
||||
},
|
||||
/** Loghi stack (`public/logos/`; Simple Icons salvo badge testuale `hl7-fhir.svg`) */
|
||||
techSlider: {
|
||||
ariaLabel: 'Tecnologie e piattaforme del nostro ecosistema',
|
||||
items: [
|
||||
{
|
||||
name: 'Cloudflare',
|
||||
href: 'https://www.cloudflare.com/',
|
||||
iconSrc: '/logos/cloudflare.svg',
|
||||
},
|
||||
{
|
||||
name: 'GitHub',
|
||||
href: 'https://github.com/',
|
||||
iconSrc: '/logos/github.svg',
|
||||
},
|
||||
{
|
||||
name: 'Docker',
|
||||
href: 'https://www.docker.com/',
|
||||
iconSrc: '/logos/docker.svg',
|
||||
},
|
||||
{
|
||||
name: 'Tailwind CSS',
|
||||
href: 'https://tailwindcss.com/',
|
||||
iconSrc: '/logos/tailwindcss.svg',
|
||||
},
|
||||
{
|
||||
name: 'Alpine.js',
|
||||
href: 'https://alpinejs.dev/',
|
||||
iconSrc: '/logos/alpinejs.svg',
|
||||
},
|
||||
{
|
||||
name: 'Astro',
|
||||
href: 'https://astro.build/',
|
||||
iconSrc: '/logos/astro.svg',
|
||||
},
|
||||
{
|
||||
name: 'Kubernetes',
|
||||
href: 'https://kubernetes.io/',
|
||||
iconSrc: '/logos/kubernetes.svg',
|
||||
},
|
||||
{
|
||||
name: 'HL7 FHIR',
|
||||
href: 'https://www.hl7.org/fhir/',
|
||||
iconSrc: '/logos/hl7-fhir.svg',
|
||||
},
|
||||
{
|
||||
name: 'Okta',
|
||||
href: 'https://www.okta.com/',
|
||||
iconSrc: '/logos/okta.svg',
|
||||
},
|
||||
{
|
||||
name: 'OpenAI',
|
||||
href: 'https://openai.com/',
|
||||
iconSrc: '/logos/openai.svg',
|
||||
},
|
||||
] as const,
|
||||
},
|
||||
/** Punti chiave che ci distinguono dalla concorrenza (NexStudio, non il partner cloud) */
|
||||
whyThisChoice: {
|
||||
title: 'Perché NexStudio',
|
||||
points: [
|
||||
'Verticalità regolamentata: progettiamo per Legal Tech e Health Tech, dove tracciabilità, privacy e continuità operativa sono parte del prodotto, non un accessorio.',
|
||||
'IA nei processi professionali: integriamo modelli e automazioni nei flussi reali di studi e strutture, con attenzione a precisione, audit e supervisione umana.',
|
||||
'Responsabilità end-to-end: architettura, sviluppo ed evoluzione restano sotto il nostro cappello — meno frammentazione tra fornitori, più chiarezza su priorità, tempi e risultati.',
|
||||
],
|
||||
},
|
||||
cloudflareBadge: {
|
||||
label: 'Cloudflare',
|
||||
href: 'https://www.cloudflare.com/',
|
||||
/** Simple Icons, in `public/logos/cloudflare.svg` */
|
||||
iconSrc: '/logos/cloudflare.svg',
|
||||
iconAlt: 'Logo Cloudflare',
|
||||
},
|
||||
} as const;
|
||||
20
src/data/home/stats.ts
Normal file
20
src/data/home/stats.ts
Normal file
@ -0,0 +1,20 @@
|
||||
/** Fascia metriche — merge performance Edge + AI + compliance settoriale (Legal/Health) */
|
||||
export const stats = {
|
||||
items: [
|
||||
{
|
||||
value: '< 30ms',
|
||||
caption:
|
||||
'Latenza globale: elaborazione istantanea dei dati sull’architettura Cloudflare Edge, per risposte in tempo reale dove servono clinica e forense.',
|
||||
},
|
||||
{
|
||||
value: '99.9%',
|
||||
caption:
|
||||
'Affidabilità dell’analisi predittiva e diagnostica con modelli LLM di ultima generazione; automazione intelligente dei workflow complessi e integrazione con un ecosistema curato di SaaS verticali certificati per professionisti.',
|
||||
},
|
||||
{
|
||||
value: '100%',
|
||||
caption:
|
||||
'GDPR e HIPAA compliant: gestione di documenti medici e legali a norma; protezione Zero-Trust e crittografia end-to-end su dati sensibili.',
|
||||
},
|
||||
] as const,
|
||||
} as const;
|
||||
Reference in New Issue
Block a user