From 943bf265de343af7a8ea5c306b370b43ea472f51 Mon Sep 17 00:00:00 2001 From: william Date: Thu, 27 Aug 2026 13:06:58 +0200 Subject: [PATCH] =?UTF-8?q?Panneaux=20flottants=20en=20plein=20=C3=A9cran?= =?UTF-8?q?=20par=20d=C3=A9faut,=20avec=20bouton=20pour=20en=20sortir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Chaque panneau (Nouvel objet, Modifier un objet, Ajouter un champ, Ajouter une entrée) s'ouvre désormais en plein écran par défaut (marge de 12px) plutôt qu'en petite fenêtre centrée — plus confortable dès qu'il y a plusieurs champs/entrées à voir en même temps. Un bouton ⛶ dans l'en-tête bascule vers/depuis la taille et la position précédentes (mémorisées le temps de la session, pas persistées), pour qui préfère un panneau plus petit à côté du reste du tableau de bord. makeFloatPanelFullscreenable(panel, toggleBtn) — générique, posée sur panel._fsToggle — appelée par les 4 familles de panneaux existantes. makeFloatPanelDraggable()/makeFloatPanelResizable() sortent d'abord proprement du plein écran si l'utilisateur interagit manuellement (glisser l'en-tête ou tirer le coin) : sans ça, bottom/right encore actifs en plein écran auraient repris la main sur la position/taille qu'on vient de poser. Co-Authored-By: Claude Sonnet 5 --- static/style.css | 5 +++ templates/game_dashboard.html | 63 ++++++++++++++++++++++++++++++++--- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/static/style.css b/static/style.css index 2d1291ba..aba495c1 100644 --- a/static/style.css +++ b/static/style.css @@ -206,6 +206,11 @@ body.builderBody > main.content{ flex:1 1 auto; min-height:0; overflow:hidden; d .floatPanel--left{ left:24px; width:280px; } .floatPanel--right{ right:24px; width:340px; } .floatPanel--center{ left:50%; width:560px; max-width:calc(100vw - 48px); transform:translateX(-50%); } +/* Plein écran (voir makeFloatPanelFullscreenable() dans game_dashboard.html) + — juste un repère visuel (bordure accent) sur le panneau agrandi, tout le + positionnement réel est posé directement en style inline par le JS (pour + pouvoir revenir exactement à la position/taille d'avant en sortant). */ +.floatPanel--fullscreen{ border-color:var(--accent); } .floatPanelHeader{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-bottom:1px solid var(--border); background:var(--panel2); diff --git a/templates/game_dashboard.html b/templates/game_dashboard.html index d780eaf8..d625dac0 100644 --- a/templates/game_dashboard.html +++ b/templates/game_dashboard.html @@ -221,6 +221,7 @@