From fef8cca2c455bf3d48bbb893888771649166a5bf Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 16 Aug 2026 19:16:43 +0000 Subject: [PATCH] =?UTF-8?q?Un=20seul=20jeu=20d'ic=C3=B4nes=20pour=20toute?= =?UTF-8?q?=20l'interface?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les deux icônes de la carte de saisie venaient de la maquette ; tout le reste était encore des GLYPHES DE TEXTE — ↻ × ☰ ⌫ 🗑 ✎ ↓ ▸ ▣ ·. C'est le système d'exploitation qui les dessinait : le même bouton sortait fin sur macOS, gras et bleuté sur Windows (émojis en couleur), et absent d'une machine sans police d'émojis. Aucune cohérence possible, et rien à régler depuis la feuille de style. Elles passent en SVG, tracées comme celles de la maquette : boîte de 24, trait de 1,8, extrémités arrondies, couleur héritée. Un seul fichier les décrit (03-icons.js) — menu, fermer, rafraîchir, crayon, corbeille, téléchargement, flèche, dossier, fichier, image, plus, chevron. Touchées : le ☰ du téléphone, les croix de modale, les deux rafraîchissements, le « + » des sections, la flèche de retour en bas, le téléchargement Hugging Face, « vider la discussion », les lignes du panneau Fichiers (dossier, image, fichier, télécharger, supprimer), renommer/supprimer une discussion, éditer un serveur MCP. Deux pièges rencontrés, notés dans la feuille : - Une règle de centrage qui pose `display:inline-flex` sur ces boutons les rend VISIBLES en permanence : plusieurs se masquent justement par `display:none` (le ☰ hors téléphone, le « + » d'une section fermée, la flèche de retour en bas). Le ☰ s'est ainsi retrouvé par-dessus l'en-tête sur grand écran. Le centrage passe donc par le rembourrage pour ceux-là. - Les titres de panneau (.stitle) et l'intertitre « Paramètres » gardaient le monospace en capitales de la charte précédente ; ils suivent maintenant le seul style de titre de la maquette, celui de « Performance ». Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01LPyFxVHNAN9u5pVzSYMwjd --- internal/loki/ui/index.html | 143 ++++++++++++++++---- internal/loki/ui/src/index.tmpl.html | 30 ++-- internal/loki/ui/src/js/03-icons.js | 51 +++++++ internal/loki/ui/src/js/12-mcp.js | 3 +- internal/loki/ui/src/js/15-files.js | 8 +- internal/loki/ui/src/js/16-conversations.js | 12 +- internal/loki/ui/src/styles.css | 39 +++++- 7 files changed, 236 insertions(+), 50 deletions(-) create mode 100644 internal/loki/ui/src/js/03-icons.js diff --git a/internal/loki/ui/index.html b/internal/loki/ui/index.html index 3287954..e89a032 100644 --- a/internal/loki/ui/index.html +++ b/internal/loki/ui/index.html @@ -1748,8 +1748,12 @@ html[data-files="1"] #files-btn{color:var(--accent)} La maquette n'a qu'un style de titre : casse normale, demi-gras, taille du texte courant (« Performance »). Le monospace en capitales de la charte précédente y jurait, et faisait crier des libellés qui n'ont rien à dire. */ -.side .stitle{font-family:var(--font);text-transform:none;letter-spacing:-.01em; +/* Le panneau Fichiers porte les mêmes titres que la barre latérale : un seul + style de titre dans toute l'application, celui de la maquette. */ +.stitle{font-family:var(--font);text-transform:none;letter-spacing:-.01em; font-size:13.5px;font-weight:600;color:var(--text)} +.side-sep{font-family:var(--font);text-transform:none;letter-spacing:0; + font-size:12px;font-weight:600;color:var(--dim)} #side-scroll>details>summary,#side-settings>summary{padding:0 14px} #side-settings{margin-top:0;border-top:1px solid var(--border)} #side-settings>.sidegroup{padding:0 12px} @@ -1790,12 +1794,43 @@ html[data-files="1"] #files-btn{color:var(--accent)} .side .preset .conv-when{font-size:13px} .perf-head{font-size:16px;font-weight:700} .perf-l,.perf-l .perf-pct{font-size:14px;font-weight:500} -.side .stitle{font-size:14px;font-weight:600} +.stitle{font-size:14px;font-weight:600} /* Marque : « Loki v0.9.4 » en tête de colonne, à l'échelle des titres. */ #brand svg{height:20px} #ver{font-size:13px;font-weight:500;margin-left:8px} + +/* --- Boutons-icônes : une seule géométrie -------------------------- + Toutes ces commandes portaient un GLYPHE DE TEXTE, donc une taille et une + assiette décidées par la police du système. En SVG, elles se centrent + normalement — encore faut-il que leur bouton soit une boîte flex et non une + ligne de texte. */ +/* ⚠️ On NE touche PAS à `display` ici : plusieurs de ces boutons s'affichent et + se masquent par ce biais (#menubtn et .preset-add sont en display:none au + repos, #scrollbtn aussi). Une règle de centrage qui pose display:inline-flex + les rendrait visibles en permanence — le ☰ s'est ainsi retrouvé par-dessus + l'en-tête sur grand écran. Le centrage passe donc par le rembourrage, que la + taille connue de chaque bouton rend exact. */ +.modal-x,.mcp-edit,#files-refresh,#files-close, +.files-acts .iconbtn,.conv-acts .iconbtn{ + display:inline-flex;align-items:center;justify-content:center;line-height:1} +#menubtn{padding:8px;line-height:0} +#scrollbtn{padding:9px;line-height:0} +.preset-add{padding:5px;line-height:0} +#menubtn svg,#scrollbtn svg,.preset-add svg{display:block;margin:0 auto} +.modal-x svg,.mcp-edit svg,#files-refresh svg,#files-close svg,.iconbtn svg{ + display:block;width:auto;height:auto} +/* La pastille du fil d'Ariane des fichiers n'est plus un caractère : elle a la + largeur de son dessin. */ +.files-ic{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center} +.files-ic svg{display:block} +.files-row.isdir .files-ic{color:var(--accent)} +/* « Vider la discussion » : icône + libellé, alignés comme un seul bloc. */ +#chat-actions-clear,.row>button>svg{vertical-align:-2px} +.row>button:has(svg){display:inline-flex;align-items:center;gap:7px} +/* Le « + » des sections : même carré que les autres commandes de la barre. */ +.preset-add{width:26px;height:26px;border-radius:8px} - + @@ -1821,7 +1856,7 @@ html[data-files="1"] #files-btn{color:var(--accent)} La recherche filtre CÔTÉ CLIENT : la liste est déjà entièrement chargée (métadonnées seules, sans les messages), un aller-retour serveur par frappe n'apporterait rien. --> -
Discussions +
Discussions
@@ -1843,7 +1878,7 @@ html[data-files="1"] #files-btn{color:var(--accent)}
Journal du moteur
- +

     
       
- +
@@ -2145,7 +2180,7 @@ html[data-files="1"] #files-btn{color:var(--accent)} pas de civilité ni d'accord qui obligerait à deviner. -->
On commence par quoi ?
- +
@@ -2202,8 +2237,8 @@ html[data-files="1"] #files-btn{color:var(--accent)} Fichiers - - + +
@@ -2216,7 +2251,7 @@ html[data-files="1"] #files-btn{color:var(--accent)}
Benchmark - +
@@ -2233,7 +2268,7 @@ html[data-files="1"] #files-btn{color:var(--accent)}