// https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ compatibilityDate: "2026-01-01", // Disabled so the exact same static bundle can be served from the browser // and embedded verbatim into the Tauri desktop shell. ssr: false, devtools: { enabled: true }, modules: ["@nuxtjs/supabase", "@pinia/nuxt"], supabase: { redirect: true, redirectOptions: { login: "/login", callback: "/confirm", exclude: ["/login", "/invite"], }, }, runtimeConfig: { public: { // 3000, which is what continuum-backend listens on when PORT is unset // (src/index.ts, and its .env.example). These defaulted to 3001, so a // developer who started both with no configuration got a console that // could not reach its own backend - every request refused by a port // with nothing behind it, which reads like a broken API rather than a // wrong address. Keep these in step with that default. apiBase: process.env.NUXT_PUBLIC_API_BASE || "http://localhost:3000", wsBase: process.env.NUXT_PUBLIC_WS_BASE || "ws://localhost:3000", // Shows a password form on the login page. Off unless asked for: the // real sign-in is a magic link, but that needs the Supabase project to // send email, and the devstack's does not (`POST /auth/v1/otp` answers // 500 "Error sending magic link email"), which left no way to sign in // at all. A build meant for real users must not set this. passwordLogin: process.env.NUXT_PUBLIC_PASSWORD_LOGIN === "true", // There is deliberately no go2rtcStreamBase here any more. A camera // stream lives on a gateway inside a particular farm's network, each // farm has its own, and the gateway tells the backend its address when // it connects - so a build-time constant could only ever be right for a // single-farm install, and its localhost:1984 default meant the UI // quietly pointed every player at the operator's own machine. Asked for // per printer instead: see `usePrinterStream`. }, }, // apps/desktop's src-tauri config points at this static output directory. nitro: { output: { publicDir: "../desktop/dist", }, }, vite: { // Tauri needs a fixed, predictable dev server port. server: { strictPort: true, }, }, typescript: { strict: true, }, });