Story 3.6 : Carte interactive desktop (Konva.js) - Installation de konva et vue-konva - Configuration nuxt.config.ts pour transpile Konva - Création mapZones.ts avec 5 zones et connexions - Composant InteractiveMap.client.vue : - Canvas Konva avec zones cliquables - États visuels (visité/non visité/verrouillé) - Tooltip au hover avec statut - Marqueur de position animé - Navigation clavier (Tab + Enter) - Légende interactive - Traductions map.* FR/EN - Lazy-loading client-only (.client.vue) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
75 lines
1.8 KiB
TypeScript
75 lines
1.8 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',
|
|
|
|
build: {
|
|
transpile: ['konva', 'vue-konva'],
|
|
},
|
|
})
|