From fa3255286438ce27e0c145375fbfed7a2bc5a8d4 Mon Sep 17 00:00:00 2001 From: Jules Neny Date: Wed, 6 May 2026 23:57:34 +0200 Subject: [PATCH] feat(nav): restructure cartes + fixes UI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - pages/index.vue : restaurée Carte 1 entraide (NocoDB, 481L) - pages/agences.vue : Carte 2 réseaux bifurcation + chatbot outre-mer - app.vue : renommé "Agences Inspirantes" → "Réseaux AEP" (desktop + mobile) - nuxt.config.ts : leaflet CSS global + cacheDir hors Dropbox - NavMapV2.vue : double rAF pour init Leaflet après layout Co-Authored-By: Claude Sonnet 4.6 --- app.vue | 7 +- components/NavMapV2.vue | 7 +- nuxt.config.ts | 11 +- pages/agences.vue | 545 ++++++++++++++++++++++++++++++++-- pages/index.vue | 626 +++++++++++++++++++--------------------- 5 files changed, 826 insertions(+), 370 deletions(-) diff --git a/app.vue b/app.vue index 9abc973..ccd9a91 100644 --- a/app.vue +++ b/app.vue @@ -39,8 +39,7 @@ class="nav-tab" :class="{ 'nav-tab--active': route.path === '/agences' }" > - Agences Inspirantes - en construction + Réseaux AEP Écosystème Entraide Architecture - Agences Inspirantes + Réseaux AEP RAG
À propos @@ -183,7 +182,7 @@ -
+
diff --git a/components/NavMapV2.vue b/components/NavMapV2.vue index e0e3b43..d15e6de 100644 --- a/components/NavMapV2.vue +++ b/components/NavMapV2.vue @@ -222,7 +222,12 @@ function updateTileTheme(dark: boolean) { let themeObserver: MutationObserver | null = null onMounted(() => { - initMap() + // Double rAF : laisser le browser calculer la hauteur du conteneur avant Leaflet + requestAnimationFrame(() => { + requestAnimationFrame(() => { + initMap() + }) + }) document.addEventListener('nav-v2-select', onNavV2Select as EventListener) themeObserver = new MutationObserver(() => { diff --git a/nuxt.config.ts b/nuxt.config.ts index 9c62d00..fab508c 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,6 +1,11 @@ export default defineNuxtConfig({ modules: ['@nuxtjs/tailwindcss'], - css: ['~/assets/css/main.css'], + css: [ + '~/assets/css/main.css', + 'leaflet/dist/leaflet.css', + 'leaflet.markercluster/dist/MarkerCluster.css', + 'leaflet.markercluster/dist/MarkerCluster.Default.css', + ], runtimeConfig: { nocodbUrl: process.env.NOCODB_URL, @@ -20,10 +25,10 @@ export default defineNuxtConfig({ ssr: true, vite: { + cacheDir: 'C:/Users/jules/AppData/Local/nav-carte-vite-cache', optimizeDeps: { - include: ['leaflet', 'leaflet.markercluster'], + include: ['leaflet', 'leaflet.markercluster', 'd3'], }, - // Éviter l'import SSR de Leaflet qui utilise window ssr: { noExternal: [], }, diff --git a/pages/agences.vue b/pages/agences.vue index f10af63..63691ed 100644 --- a/pages/agences.vue +++ b/pages/agences.vue @@ -1,39 +1,522 @@ diff --git a/pages/index.vue b/pages/index.vue index 71107c3..5021ec2 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,144 +1,56 @@