// https://nuxt.com/docs/api/configuration/nuxt-config
import { fileURLToPath, URL } from 'node:url'

export default defineNuxtConfig({
  compatibilityDate: '2025-07-15',

  devtools: { 
    enabled: false
  },

  typescript: {
    strict: false,
    typeCheck: false
  },

  app: {
    pageTransition: {
      name: 'page',
      mode: 'out-in'
    },
  },

  // Auto-import des composants du dossier app/ sans prefixe de chemin
  components: [
    { path: '~/components', pathPrefix: false }
  ],

  // un chemin avec root pour aller chercher les fichiers qui ne sont pas dans app mais à la racine avec un @
  vite: {
    resolve: {
      alias: {
        '@root': fileURLToPath(new URL('./', import.meta.url))
      }
    }
  },

  //une barre fine en haut de la page lors des chargements
  loadingIndicator: {
    color: '#dd1e1eff',
    background: '#fff',
    height: '20px'
  },

  css: ['@/assets/scss/main.scss'],


  runtimeConfig: {
    // Server-side only (jamais exposé au client)
    // ceci strapiToken: process.env.NUXT_STRAPI_TOKEN || '', est remplacé par la ligne ci-dessous car la récup des variable .env est automatique si on les nomme correctement
    strapiToken: '',
    mysqlHost: '',
    mysqlPort: '',
    mysqlDatabase: '',
    mysqlUser: '',
    mysqlPassword: '',
    parcRequestRecipientEmail: '',
    scolaireRequestRecipientEmail: '',
    academieRequestRecipientEmail: '',
    smtpHost: '',
    smtpPort: '',
    smtpSecure: '',
    smtpUser: '',
    smtpPassword: '',
    smtpFromEmail: '',
    smtpFromName: '',
    //instagramAppId: process.env.NUXT_INSTAGRAM_APP_ID,
    //instagramClientToken: process.env.NUXT_INSTAGRAM_CLIENT_TOKEN,

    // 🌍 Public (accessible dans le navigateur)
    // lit implicitement la variables .env process.env.NUXT_PUBLIC_STRAPI_URL
    public: {
      strapiUrl: '',
      saison: '',
      saisonmoins1: '',
    },
  },

  //configuration du module @nuxt/image
  image: {
    // Domaine de tes images Strapi / OVH
    domains: [
      'media.orchestre-ile.com' // passe par le reverse proxy plus tard
    ],
    quality: 80,
    format: ['webp', 'avif', 'jpeg', 'jpg', 'png', 'gif' ],
    screens: {
      xs: 320,
      sm: 640,
      md: 768,
      lg: 1024,
      xl: 1280,
      xxl: 1536,
      '2xl': 1536
    },
    presets: {
      full: {
        modifiers: {
          fit: 'cover',
        }
      },
      avatar: {
        modifiers: {
          fit: 'cover',
          format: 'jpg',
          width: 50,
          height: 50
        }
      }
    },
    densities: [1, 2],
  },
  
  modules: ['@nuxt/image', '@nuxtjs/tailwindcss'],
})
