diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fa091b..fc76644 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## v7.84.7 (2026-10-29) — Barre commune : les 5 logos dans le menu et la barre + +- **Barre d'apps v0.1.9 vendangée (dracodev-commons)** : `static/js/vendor/draco-barre.js` et `static/css/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 `app/templates/_draco_bar.html` porté à la v0.1.9, le reste de son intégration Flowdeck (URL `draco_urls()`, `onAction`, nonce CSP) est inchangé. +- **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 ✦ et le bouton Spark gardent leur ✦). +- **Cache** : le bump 7.84.6 → 7.84.7 change aussi `asset_version`, donc les navigateurs ne garderont pas les anciennes icônes. + ## v7.84.6 (2026-10-28) — Recherche console : CORS Flowdeck sans doublons (PR #41) - **CORS recherche (PR #41)** : le middleware de recherche remplace désormais les en-têtes CORS existants au lieu de les empiler — le CORSMiddleware global posait déjà Allow-Credentials: true, l'ancien middleware ajoutait les siens par-dessus (« true, true » rejeté par le navigateur) ; l'onglet Flowdeck de la recherche console agent-dev n'est plus injoignable. diff --git a/VERSION b/VERSION index 0a70e36..c3b66c6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.84.6 +7.84.7 diff --git a/app/templates/_draco_bar.html b/app/templates/_draco_bar.html index 4555dbe..bd5efd0 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.1 (issue #17). - Snippet FIGÉ vendangé depuis Projets/dracodev-commons v0.1.6 + Snippet FIGÉ vendangé depuis Projets/dracodev-commons v0.1.9 (ui/barre-apps/) : ne pas modifier la structure ici ; toute évolution passe par une nouvelle version de commons. CSS/JS : /static/css/draco-barre.css, /static/js/vendor/draco-barre.js. @@ -8,7 +8,12 @@ par défaut, noms en -dev déclarés dans le .env de l'environnement). 5e onglet Console Spark (data-app="agent", draco_urls().agent), après Kanbante ; l'entrée « Console Spark » du menu de la marque - est conservée (menu construit par draco-barre.js depuis les onglets). #} + est conservée (menu construit par draco-barre.js depuis les onglets). + 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). #}
@@ -18,25 +23,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/vendor/draco-barre.js b/static/js/vendor/draco-barre.js index eeaa965..6ea58ca 100644 --- a/static/js/vendor/draco-barre.js +++ b/static/js/vendor/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";