// nuxt.config.ts – HMS Licht & Ton Frontend Configuration
import type { NuxtConfig } from "nuxt/schema";

export default defineNuxtConfig({
  devtools: { enabled: false },
  ssr: false,
  modules: ["@nuxtjs/tailwindcss", "@pinia/nuxt"],
  css: ["~/assets/css/main.css"],
  app: {
    head: {
      htmlAttrs: { lang: "de" },
      meta: [
        { charset: "utf-8" },
        { name: "viewport", content: "width=device-width, initial-scale=1" },
        { name: "robots", content: "noindex, nofollow, noarchive, nosnippet" },
        { name: "theme-color", content: "#131313" },
        { name: "description", content: "HMS Licht & Ton – Professionelle Veranstaltungstechnik aus Leipheim/Ellzee. Vermietung, Verkauf, Personal, Transport von Tontechnik und Lichttechnik." },
        { name: "author", content: "Hammerschmidt u. Mössle GbR" },
      ],
      link: [
        { rel: "icon", type: "image/svg+xml", href: "/favicon.svg" },
        { 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;800&display=swap",
        },
      ],
      script: [
        {
          type: "application/ld+json",
          children: JSON.stringify({
            "@context": "https://schema.org",
            "@type": "LocalBusiness",
            name: "HMS Licht & Ton – Hammerschmidt u. Mössle GbR",
            description: "Professionelle Veranstaltungstechnik aus Leipheim/Ellzee. Vermietung, Verkauf, Personal, Transport.",
            address: {
              "@type": "PostalAddress",
              streetAddress: "Grockelhofen 10",
              addressLocality: "Leipheim",
              postalCode: "89340",
              addressCountry: "DE",
            },
            telephone: "+498221204433",
            email: "info@hms-licht-ton.de",
            url: "https://hms.media-on.de",
            areaServed: "Süddeutschland",
            knowsAbout: ["Tontechnik", "Lichttechnik", "Rigging", "Veranstaltungstechnik"],
          }),
        },
      ],
    },
  },
  runtimeConfig: {
    // Server-only: used by SSR to call backend in Docker network
    apiBase: process.env.API_BASE_URL || "http://backend:8000",
    public: {
      // Client-side: relative URL goes through Nuxt server proxy
      apiBase: "/api",
    },
  },
  routeRules: {
    "/": { ssr: false },
    "/mietkatalog": { ssr: true },
    "/mietkatalog/**": { ssr: true },
    "/warenkorb": { ssr: false },
    "/mietanfrage": { ssr: false },
    "/admin": { ssr: false },
  },
  typescript: {
    strict: true,
    typeCheck: false,
  },
  tailwindcss: {
    cssPath: "~/assets/css/main.css",
    configPath: "tailwind.config.ts",
  },
  nitro: {
    compressPublicAssets: true,
    routeRules: {
    "/": { ssr: false },
      "/api/**": {
        proxy: "http://backend:8000/api/**",
      },
    },
  },
});
