import tailwindcss from '@tailwindcss/vite' export default defineNuxtConfig({ app: { viewTransition: true, head: { 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=Archivo+Black&family=Fira+Sans:wght@400;500;600;700&family=Fira+Code:wght@400;500;600;700&family=Geist:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600;700&family=Source+Serif+Pro:wght@400;500;600;700&family=Source+Serif+4:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Jua&family=Lora:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Newsreader:wght@400;500;600;700&family=Orbitron:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Workbench&family=Figtree:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap', }, ], }, }, experimental: { viewTransition: true, }, nitro: { experimental: { websocket: true, }, }, css: ['~/assets/css/tailwind.css'], compatibilityDate: '2025-01-01', routeRules: { '/uploads': { redirect: '/' }, }, runtimeConfig: { databaseUrl: process.env.DATABASE_URL ?? '', public: { // Seitenname — per Env NUXT_PUBLIC_SITE_NAME überschreibbar siteName: 'BRETT', }, }, vite: { plugins: [tailwindcss()], vue: { template: { compilerOptions: { isCustomElement: tag => tag === 'emoji-picker', }, }, }, }, modules: ['shadcn-nuxt', '@nuxt/image', '@nuxt/icon', '@nuxtjs/i18n'], i18n: { locales: [ { code: 'de', language: 'de-DE', name: 'Deutsch', file: 'de.json' }, { code: 'en', language: 'en-US', name: 'English', file: 'en.json' }, ], defaultLocale: 'de', strategy: 'no_prefix', detectBrowserLanguage: { useCookie: true, cookieKey: 'i18n_locale', redirectOn: 'root', fallbackLocale: 'de', }, }, icon: { mode: 'svg', }, image: { // Remote-Domains, für die IPX kleine Placeholder-Varianten erzeugen darf domains: ['i.ytimg.com', 'static-cdn.jtvnw.net'], }, shadcn: { /** * Prefix for all the imported component. * @default "Ui" */ prefix: 'Ui', /** * Directory that the component lives in. * Will respect the Nuxt aliases. * @link https://nuxt.com/docs/api/nuxt-config#alias * @default "@/components/ui" */ componentDir: '@/components/ui', }, })