From 8d869a3dde846fb98b60c5eb27d7f73dbb762d6e Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Wed, 29 Jul 2026 11:24:32 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20r=C3=A9organise=20la=20navigation=20en?= =?UTF-8?q?=20barre=20lat=C3=A9rale=20repliable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les sept onglets alignés dans le header ne disaient pas que trois natures de travail s'y mêlaient. Ils passent en colonne, sous deux titres : Saisie alimente la base (Documents, Fiches logements), Analyse en lit le contenu (Recettes, Dépenses, Par lot). Config quitte la rangée pour un pied de menu, c'est un réglage et non une destination de travail. « Logements » et « Lots » se ressemblaient trop pour deux pages qui parlent du même objet sans faire la même chose. Elles deviennent « Fiches logements » — ce qu'on y saisit — et « Par lot » — ce qu'on y lit. Les URL ne bougent pas, elles circulent dans des liens déjà partagés. Le bouton « Importer un PDF » disparaît du menu : la page Documents porte déjà le sien en tête de liste et l'accueil garde sa zone de dépôt. Ce troisième exemplaire n'ajoutait rien. La barre se replie sur ses seules icônes, le libellé passant en infobulle et un filet prenant la place des titres de groupe. Le repli est gardé en `localStorage` : c'est un réglage d'espace de travail, le retrouver déplié à chaque rechargement serait une corvée. Les flèches de Recettes et Dépenses sont celles des actions rapides de l'accueil. Replié, le menu ne montre plus que ces icônes : elles doivent désigner la même chose d'un écran à l'autre. Le calcul de l'état actif suit l'entrée de menu dans `NavLien`, qui la rend dépliée ou non. Une fiche de lot (`/lots/26`) garde ainsi son entrée allumée, comme avant le déménagement. Co-Authored-By: Claude Opus 5 --- frontend/src/App.vue | 196 +++++++++++++++++++--------- frontend/src/components/NavLien.vue | 45 +++++++ frontend/src/style.css | 7 + 3 files changed, 188 insertions(+), 60 deletions(-) create mode 100644 frontend/src/components/NavLien.vue diff --git a/frontend/src/App.vue b/frontend/src/App.vue index c999482..5cb7791 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,39 +1,69 @@ diff --git a/frontend/src/components/NavLien.vue b/frontend/src/components/NavLien.vue new file mode 100644 index 0000000..ccf8ed2 --- /dev/null +++ b/frontend/src/components/NavLien.vue @@ -0,0 +1,45 @@ + + + diff --git a/frontend/src/style.css b/frontend/src/style.css index 73f87d5..76051f7 100644 --- a/frontend/src/style.css +++ b/frontend/src/style.css @@ -40,6 +40,13 @@ @apply text-sm text-gray-400 mt-1; } + /* --- Navigation laterale ---------------------------------------------- */ + + /* Entree de menu : la couleur (actif / inactif) est posee par App.vue. */ + .nav-link { + @apply flex items-center gap-2 px-3 py-1.5 text-sm rounded-lg transition-colors; + } + /* --- Cartes ----------------------------------------------------------- */ .card {