// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  compatibilityDate: '2025-07-15',
  devtools: { enabled: true },

  ssr: false,

  modules: [
    'nuxt-quasar-ui',
    '@pinia/nuxt',
    '@vite-pwa/nuxt',
  ],

  quasar: {
    plugins: [
      'Notify',
      'Dialog',
      'LocalStorage',
      'SessionStorage',
      'AppFullscreen',
      'AddressbarColor',
    ],
    extras: {
      font: 'roboto-font',
      fontIcons: ['material-icons'],
    },
    config: {
      brand: {
        primary: '#027be3',
      },
      notify: {},
    },
  },

  pwa: {
    manifest: {
      name: 'OYS Borrow a Boat',
      short_name: 'OYS BAB',
      description: 'Manage a Borrow a Boat program for a Yacht Club',
      theme_color: '#027be3',
      background_color: '#ffffff',
      display: 'standalone',
      orientation: 'natural',
      icons: [
        { src: 'icons/icon-128x128.png', sizes: '128x128', type: 'image/png' },
        { src: 'icons/icon-192x192.png', sizes: '192x192', type: 'image/png' },
        { src: 'icons/icon-256x256.png', sizes: '256x256', type: 'image/png' },
        { src: 'icons/icon-384x384.png', sizes: '384x384', type: 'image/png' },
        { src: 'icons/icon-512x512.png', sizes: '512x512', type: 'image/png' },
      ],
    },
    workbox: {
      navigateFallback: '/',
    },
    devOptions: {
      enabled: false,
    },
  },

  css: ['@quasar/quasar-ui-qcalendar/dist/index.css'],

  vite: {
    optimizeDeps: {
      include: [
        '@vue/devtools-core',
        '@vue/devtools-kit',
        'appwrite',
        '@quasar/quasar-ui-qcalendar',
      ],
    },
    css: {
      preprocessorOptions: {
        sass: {
          additionalData: '@use "quasar/src/css/variables.sass" as *\n',
        },
      },
    },
  },

  runtimeConfig: {
    public: {
      appwriteEndpoint: '',
      appwriteProjectId: '',
    },
  },
})
