From 763d26c1f1bcede3a2bd3a340ec565a6c102a4a4 Mon Sep 17 00:00:00 2001 From: william Date: Wed, 23 Sep 2026 09:33:45 +0200 Subject: [PATCH] =?UTF-8?q?Ajuste=20l'onglet=20Pages=20:=20bouton=20d'ajou?= =?UTF-8?q?t=20fixe=20en=20haut,=20retire=20les=20fl=C3=A8ches=20de=20r?= =?UTF-8?q?=C3=A9ordonnancement,=20style=20d'onglet=20simplifi=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - "+ Ajouter une page" passe avant la liste et reste toujours visible (flex-shrink:0), seule la liste défile désormais. - Retire les boutons ↑/↓ par rangée : le glisser-déposer suffit pour réordonner, ce qui laisse plus de place à l'affichage du nom de la page. forgeDocMovePage devient mort (plus aucun appelant) et est supprimé. - Style de l'onglet actif simplifié : seul le border-bottom change de couleur, le texte reste neutre (plus de changement de couleur du libellé). Co-Authored-By: Claude Sonnet 5 --- CODE_QUALITY.md | 2 +- static/document/document-editor.css | 14 +++++++++- static/document/js/document-editor.js | 37 +++++---------------------- templates/document/document_edit.html | 30 ++++++++-------------- 4 files changed, 31 insertions(+), 52 deletions(-) diff --git a/CODE_QUALITY.md b/CODE_QUALITY.md index 902c118a..9a2295b8 100644 --- a/CODE_QUALITY.md +++ b/CODE_QUALITY.md @@ -152,7 +152,7 @@ SonarQube : voir section 2, sous-section "SonarQube" — CI restaurée (non-bloq | `static/game/js/play/offline/filter-repeater-rows.js:24` (`forgeDecodeClauses`) | `javascript:S2486` | **Corrigé, même patron que ci-dessus** : `_filtres_json` est un attribut rendu par le serveur, jamais tapé à la main — un JSON invalide y trahit presque toujours un bug côté éditeur/serveur. `console.warn('_filtres_json invalide, filtre ignoré', e)` ajouté, comportement inchangé (repli sur l'ancien format à 2 filtres fixes ou aucun filtre). Couvert par un nouveau test (`filter-repeater-rows.test.js`, `forgeDecodeClauses — _filtres_json invalide`). | Lot 4 "modernisation JS", 18/09/2026 | | `static/game/js/play/offline/filter-repeater-rows.js:59`, `:70` (`forgeResolveVariablePath`, JSON.parse + navigation `.champ`/`[index]`) | `javascript:S2486` | **Documenté, pas corrigé — nature différente du cas ci-dessus** : ici `rawValue` est la VALEUR ACTUELLE d'une variable de jeu (modifiable librement par n'importe quelle action "Modifier une variable"), pas une config interne à l'éditeur — un chemin qui ne correspond pas à sa forme actuelle est un cas normal et attendu (ex. variable encore à sa valeur par défaut non-JSON), déjà explicitement documenté par le commentaire de la fonction ("Ne lève jamais... même convention que côté serveur"). Un `console.warn` ici bruiterait la console à chaque usage légitime. | Lot 4 "modernisation JS", 18/09/2026 | | `static/document/js/document-editor.js` (`FORGE_DOC_STYLE_PRESETS`, `FORGE_DOC_SHAPE_KINDS`, `FORGE_DOC_SNAP_SIZE` — 3 sites) | `eslint:no-var`, `eslint:vars-on-top` | Constantes de premier niveau déclarées en `var` plutôt que `const` : un `