From 22905606271d245329fdb4ad0277ec32116a048f Mon Sep 17 00:00:00 2001 From: Spark Date: Sun, 11 Oct 2026 21:12:09 -0400 Subject: [PATCH] =?UTF-8?q?feat(nav):=20palette=20en=20ic=C3=B4ne=20pr?= =?UTF-8?q?=C3=A8s=20du=20titre,=20sections=20accord=C3=A9on=20(retour=20#?= =?UTF-8?q?16)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le bouton Recherche & commandes devient une icône 🔍 seule à droite du titre (sous le logo en rail replié). Les groupes deviennent des accordéons: chevron animé, transition douce, sections fermées mémorisées (appliquées avant le rendu), section de la page courante toujours ouverte; rail replié = icônes. --- app/templates/_header.html | 53 ++++++++++++++++---------- static/css/style.css | 78 ++++++++++++++++++++++++++++---------- static/js/nav.js | 43 +++++++++++++++++++++ 3 files changed, 132 insertions(+), 42 deletions(-) diff --git a/app/templates/_header.html b/app/templates/_header.html index 29c22db..3bc2933 100644 --- a/app/templates/_header.html +++ b/app/templates/_header.html @@ -12,51 +12,62 @@ if (localStorage.getItem('kanbante-sidebar') === 'collapsed') { document.body.classList.add('sidebar-collapsed'); } + JSON.parse(localStorage.getItem('kanbante-nav-closed') || '[]') + .forEach(function (k) { + document.body.classList.add('nav-closed-' + k); + }); } catch (e) { /* stockage indisponible : état par défaut */ } {% set nav_groups = [ - ("Principal", [ + ("principal", "Principal", [ ("home", "/", "🏠", "Projets"), ("focus", "/focus", "🎯", "Focus"), ("today", "/today", "🌅", "Aujourd'hui"), ("my", "/my", "👤", "Mes issues"), ]), - ("Rituels", [ + ("rituels", "Rituels", [ ("briefing", "/briefing", "📊", "Briefing"), ("standup", "/standup", "🗣️", "Standup"), ("digest", "/digest", "🧠", "Digest"), ]), - ("Pilotage", [ + ("pilotage", "Pilotage", [ ("forecast", "/forecast", "🔮", "Prévisions"), ("health", "/health", "🩺", "Santé"), ("rules", "/rules", "⚙️", "Règles"), ("activity", "/activity", "📰", "Activité"), ]), - ("Outils", [ + ("outils", "Outils", [ ("search", "/search", "🔍", "Recherche"), ("capture", "/capture", "⚡", "Capture"), ("wall", "/wall", "🖥️", "Wallboard"), ]), ] %}