// Nuxt 4 configuration for the Dezky public marketing site (dezky.eu). // // Unlike apps/portal and apps/operator this surface is fully public — no // OIDC, no sessions, no platform-api coupling. It can be statically // generated (`pnpm generate`) and served from a CDN/edge independently of // the Docker app stack. Locally it runs behind Traefik at dezky.local / // www.dezky.local with the same mkcert TLS as the rest of the platform. export default defineNuxtConfig({ compatibilityDate: '2026-01-01', devtools: { enabled: true }, css: ['~/assets/styles/tokens.css', '~/assets/styles/base.css'], // Auto-import from the shared packages/ui workspace in addition to the // app's own components/. /shared-packages is bind-mounted in // docker-compose.yml — outside containers the same files live at // /packages/ui/components/. The local dir keeps the default // directory-based prefix; the shared dir uses no prefix so a shared // CountrySelect.vue is just . Mirrors portal/operator. components: [ '~/components', { path: '/shared-packages/ui/components', pathPrefix: false }, ], app: { head: { // Marketing site is light by default (the design's primary theme). The // page sets reactively based on the da/en toggle. htmlAttrs: { lang: 'da' }, link: [ { rel: 'preconnect', href: 'https://fonts.googleapis.com' }, { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }, { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap', }, ], }, }, vite: { server: { // Vite 7 added a strict host check; allow the Traefik-fronted hostnames // this site is served on in dev. allowedHosts: ['dezky.local', 'www.dezky.local'], hmr: { protocol: 'wss', clientPort: 443, }, }, }, })