Files
Portfolio-Game/frontend/nuxt.config.ts
skycel ca828d86b4 Add layouts, routing, transitions & pages (Story 1.4)
Default layout with sticky AppHeader (nav, LanguageSwitcher, mobile hamburger),
AppFooter with social links. Minimal layout for express mode. 7 placeholder pages
with localized EN routes. Page transitions (fade+slide), prefers-reduced-motion
support, custom scroll behavior, error.vue, useSeo composable, SVG favicon.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:35:31 +01:00

71 lines
1.7 KiB
TypeScript

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',
})