Files
NexStudio/src/layouts/BaseLayout.astro
Javaxman 16c380dfda 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
2026-04-22 13:07:40 +02:00

46 lines
1.5 KiB
Plaintext

---
import '../styles/global.css';
import CookieConsent from '../components/CookieConsent.astro';
import ChatGateModal from '../components/ChatGateModal.astro';
interface Props {
title?: string;
description?: string;
}
const {
title = 'NexStudio — Software su misura',
description = 'Studio di sviluppo software: web app, API, automazioni e prodotti digitali, con focus su qualità e time-to-market.',
} = Astro.props;
---
<!doctype html>
<html lang="it" class="bg-nx-bg">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content={description} />
<meta name="theme-color" content="#030712" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=JetBrains+Mono:wght@400;500&display=swap"
rel="stylesheet"
/>
</head>
<body class="min-h-screen">
<slot />
<CookieConsent />
<ChatGateModal />
<script src="/particle-bg.js" defer></script>
<!--
Widget chat / analytics: caricare solo dopo consenso, es. ascoltando
`nexstudio:cookie-consent` (vedi informativa cookie) o usando
`window.NexStudioCookieConsent?.getConsent()`.
-->
</body>
</html>