export default defineNuxtConfig({ compatibilityDate: '2025-07-15', modules: ['@nuxt/ui', '@nuxt/eslint', '@nuxt/fonts', '@nuxtjs/i18n'], css: ['~/assets/css/main.css'], devtools: { enabled: true }, ssr: true, // Prerender static pages at build time for instant loading routeRules: { '/': { prerender: true }, '/team': { prerender: true }, '/unternehmen': { prerender: true }, '/impressum': { prerender: true }, '/datenschutz': { prerender: true }, '/newsletter-bestaetigt': { prerender: true }, '/kontakt': { prerender: true } }, // Icon configuration - bundle icons for SSR to prevent hydration mismatches icon: { serverBundle: 'remote' }, // Runtime configuration for server-side API keys runtimeConfig: { brevoApiKey: 'NOT_SET', brevoSenderEmail: 'NOT_SET', brevoSenderName: 'NOT_SET', brevoContactEmail: 'NOT_SET', brevoNewsletterListId: 'NOT_SET', brevoDoiTemplateId: 'NOT_SET', public: { siteUrl: 'NOT_SET' } }, // Font configuration - Bricolage Grotesque for headings, DM Sans for body fonts: { families: [ { name: 'Bricolage Grotesque', provider: 'google', weights: [400, 600, 700] }, { name: 'DM Sans', provider: 'google', weights: [400, 500, 600] } ] }, // i18n configuration i18n: { defaultLocale: 'de', strategy: 'no_prefix', locales: [ { code: 'en', name: 'English', file: 'en.json' }, { code: 'de', name: 'Deutsch', file: 'de.json' } ] }, // App configuration app: { head: { title: 'GremiumHub - Digitale Mitbestimmung für IT- und KI-Systeme', meta: [ { name: 'description', content: 'Struktur statt Hauruck: Alle relevanten Informationen an einem Ort, klare Prozessschritte und nachvollziehbare Dokumentation für IT-Mitbestimmung.' } ] } } })