diff --git a/CHANGELOG.md b/CHANGELOG.md index b5a1c47..8355d3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.45.1 — 2026-10-29 — Barre commune : les 5 logos en place dans le menu et la barre + +- **Barre d'apps v0.1.9 vendangée (dracodev-commons)** : `draco-barre.js` et `draco-barre.css` remplacés verbatim par la v0.1.9 (les fichiers vendangés précédents étaient identiques à l'octet près à ceux de commons avant la v0.1.9, aucune adaptation locale n'est perdue) ; fragment `_draco_bar.html` porté à la v0.1.9, le reste de l'intégration Kanbante (URL Jinja `draco_urls` / `agent_url`, `onAction` complet y compris profil/déconnexion, compteurs) est inchangé. Les surcharges Kanbante dans `style.css` ne sont pas touchées. +- **Icônes** : les 5 tuiles de la barre — et donc du menu de la marque, qui les clone — sont désormais les logos fournis, tels quels, jamais redessinés : ObsiGate (arbre), Flowdeck (cartes), TikTak (logo officiel SVG), Kanbante (cycle vert), Console Spark (étoile rouge validée). Fichiers servis depuis `static/img/logos/` (copie de `ui/barre-apps/logos/` de commons, PNG 180 px) ; l'entrée « Console Spark » du menu clone l'icône de l'onglet agent. Les glyphes texte ▤/▦/✓/▥/✦ disparaissent des onglets (la marque ✦, le bouton Spark et le rappel d'en-tête gardent leur ✦). +- **Cache** : le bump 0.45.0 → 0.45.1 change aussi le `?v=` des CSS/JS de la barre, donc les navigateurs ne garderont pas les anciennes icônes. + ## 0.45.0 — 2026-10-29 — Mobile : tiroir, pied et menu compte - **Tiroir mobile** : l'état « replié » mémorisé sur desktop ne rétrécit plus le tiroir (cause : `body.sidebar-collapsed .sidebar { width: 68px; }` gagnait par spécificité sur le 264 px mobile, libellés tronqués par overflow-x). Le tiroir fait 264 px, replié ou non ; le fond ne défile plus derrière lui ; le bouton de repli dans le tiroir le ferme ; un clic sur un lien de navigation le ferme aussi. diff --git a/app/config.py b/app/config.py index c4cf430..989ee76 100644 --- a/app/config.py +++ b/app/config.py @@ -177,7 +177,7 @@ from urllib.parse import urlparse BASE_DIR = Path(__file__).resolve().parent.parent -APP_VERSION = "0.45.0" +APP_VERSION = "0.45.1" def _env_bool(name: str, default: bool) -> bool: diff --git a/app/templates/_draco_bar.html b/app/templates/_draco_bar.html index ac768ba..5bc0f28 100644 --- a/app/templates/_draco_bar.html +++ b/app/templates/_draco_bar.html @@ -1,5 +1,5 @@ {# Barre d'apps commune dracodev — Fusion ACC-1 (issue kanbante#28). - Snippet vendangé depuis Projets/dracodev-commons v0.1.6 + Snippet vendangé depuis Projets/dracodev-commons v0.1.9 (ui/barre-apps/) : structure inchangée ; seule adaptation locale (0.32.0, dev/prod) = les URL des apps et l'adresse du service d'agents sont INJECTÉES par l'hôte depuis app.config @@ -10,7 +10,12 @@ « Console Spark » du menu de la marque est conservée. CSS/JS : /static/css/draco-barre.css, /static/js/draco-barre.js. Inclus par _header.html (toutes les pages applicatives ; ni le - wallboard ni l'écran de connexion, volontaires). #} + wallboard ni l'écran de connexion, volontaires). + Icônes logos v0.1.9 (2026-10-29) : les 5 tuiles sont les logos + fournis, tels quels, servis depuis /static/img/logos/ (copie de + ui/barre-apps/logos/ de dracodev-commons) — jamais de glyphe + texte, jamais de redessin ; l'entrée « Console Spark » du menu + clone l'icône de l'onglet agent (draco-barre.js). #} @@ -23,25 +28,25 @@ diff --git a/static/css/draco-barre.css b/static/css/draco-barre.css index ad654dc..b7c9f07 100644 --- a/static/css/draco-barre.css +++ b/static/css/draco-barre.css @@ -94,6 +94,13 @@ width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 9px; background: var(--app); color: #fff; font-size: 15px; } +/* Icônes logos (2026-10-29, corrigé le même jour) : l'image du logo + * fourni, telle quelle, remplit la tuile 30 px — jamais de glyphe + * texte, jamais de redessin. Le fond de la tuile est transparent : + * les logos PNG portent déjà leur fond (dégradé), le SVG TikTak + * reste sur le fond de la barre. */ +.draco-apptab-ico { background: transparent; } +.draco-apptab-ico img { width: 30px; height: 30px; display: block; border-radius: 9px; object-fit: cover; } .draco-apptab-txt { display: none; flex-direction: column; line-height: 1.15; } .draco-apptab-txt strong { font-size: 14px; font-weight: 700; } .draco-apptab-txt small { font-size: 11.5px; color: var(--ink-2); } diff --git a/static/img/logos/flowdeck.png b/static/img/logos/flowdeck.png new file mode 100644 index 0000000..21c556f Binary files /dev/null and b/static/img/logos/flowdeck.png differ diff --git a/static/img/logos/kanbante.png b/static/img/logos/kanbante.png new file mode 100644 index 0000000..32a2b02 Binary files /dev/null and b/static/img/logos/kanbante.png differ diff --git a/static/img/logos/obsigate.png b/static/img/logos/obsigate.png new file mode 100644 index 0000000..27b93ff Binary files /dev/null and b/static/img/logos/obsigate.png differ diff --git a/static/img/logos/spark.png b/static/img/logos/spark.png new file mode 100644 index 0000000..049acad Binary files /dev/null and b/static/img/logos/spark.png differ diff --git a/static/img/logos/tiktak.svg b/static/img/logos/tiktak.svg new file mode 100644 index 0000000..4babd04 --- /dev/null +++ b/static/img/logos/tiktak.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/static/js/draco-barre.js b/static/js/draco-barre.js index eeaa965..6ea58ca 100644 --- a/static/js/draco-barre.js +++ b/static/js/draco-barre.js @@ -369,7 +369,10 @@ * de l'agent commun (URL agent résolue — explicite > -dev > * défaut prod ; aucun hôte spark-dev inventé). data-app="agent" * l'intègre à refreshMenuHrefs/applyUrls/setCurrent comme les - * autres items ; l'icône ✦ reprend la couleur agent du CSS. */ + * autres items ; son icône CLONE celle de l'onglet agent + * (2026-10-29, logos barre-apps, corrigé le même jour) : le logo + * fourni, tel quel, jamais redessiné — le CSS --agent (rose) des + * autres éléments de la barre n'est pas changé ici. */ var sep = document.createElement("div"); sep.className = "draco-menu-sep"; sep.setAttribute("aria-hidden", "true"); @@ -379,10 +382,18 @@ sparkItem.href = resolvedUrls.agent || "#"; sparkItem.dataset.app = "agent"; sparkItem.setAttribute("role", "menuitem"); - var sparkIco = document.createElement("span"); - sparkIco.className = "draco-apptab-ico"; - sparkIco.setAttribute("style", "--app:#c2437e"); - sparkIco.textContent = "✦"; + var sparkIco; + var agentTab = document.querySelector('.draco-apptab[data-app="agent"]'); + var agentIco = agentTab ? agentTab.querySelector(".draco-apptab-ico") : null; + if (agentIco) { + sparkIco = agentIco.cloneNode(true); + } else { + sparkIco = document.createElement("span"); + sparkIco.className = "draco-apptab-ico"; + sparkIco.setAttribute("style", "--app:#d21f2c"); + sparkIco.setAttribute("data-icon", "agent"); + sparkIco.textContent = "✦"; + } sparkItem.appendChild(sparkIco); var sparkTxt = document.createElement("span"); sparkTxt.className = "draco-apps-item-txt";