export default defineNuxtConfig({
  devtools: { enabled: true },

  ssr: true,

  future: {
    compatibilityVersion: 4,
  },

  modules: [
    '@nuxtjs/i18n',
    '@pinia/nuxt',
    '@nuxt/image',
    '@nuxtjs/sitemap',
  ],

  css: ['~/assets/css/main.css', '~/assets/css/transitions.css'],

  postcss: {
    plugins: {
      tailwindcss: {},
      autoprefixer: {},
    },
  },

  i18n: {
    locales: [
      { code: 'fr', iso: 'fr-FR', file: 'fr.json', name: 'Français' },
      { code: 'en', iso: 'en-US', file: 'en.json', name: 'English' },
    ],
    defaultLocale: 'fr',
    strategy: 'prefix_except_default',
    lazy: true,
    langDir: '../i18n/',
    detectBrowserLanguage: false,
    customRoutes: 'config',
    pages: {
      'projets/index': { en: '/projects' },
      'projets/[slug]': { en: '/projects/[slug]' },
      'competences': { en: '/skills' },
      'temoignages': { en: '/testimonials' },
      'parcours': { en: '/journey' },
      'contact': { en: '/contact' },
      'resume': { en: '/resume' },
    },
    baseUrl: process.env.NUXT_PUBLIC_SITE_URL || 'https://skycel.fr',
  },

  app: {
    head: {
      link: [
        { rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' },
      ],
    },
    pageTransition: { name: 'page', mode: 'out-in' },
    layoutTransition: { name: 'layout', mode: 'out-in' },
  },

  runtimeConfig: {
    public: {
      apiUrl: process.env.NUXT_PUBLIC_API_URL || 'http://localhost:8000/api',
      apiKey: process.env.NUXT_PUBLIC_API_KEY || '',
      siteUrl: process.env.NUXT_PUBLIC_SITE_URL || 'https://skycel.fr',
      githubUrl: process.env.NUXT_PUBLIC_GITHUB_URL || 'https://git.araneite.dev/skycel',
      linkedinUrl: process.env.NUXT_PUBLIC_LINKEDIN_URL || '',
    },
  },

  compatibilityDate: '2025-01-01',

  build: {
    transpile: ['konva', 'vue-konva'],
  },
})
