From bee401430b1d32615cad1e69a6b0d6587ea54d5b Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Mon, 13 Jul 2026 22:38:57 +0200 Subject: [PATCH] =?UTF-8?q?feat(tableau):=20lien=20=C2=AB=20G=C3=A9rer=20m?= =?UTF-8?q?es=20vues=20=C2=BB=20en=20t=C3=AAte=20du=20dropdown=20+=20fix?= =?UTF-8?q?=20hover=20dropdown=20(#112)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Dropdown « Mes vues » : ajoute en tête un lien « Gérer mes vues » (couleur primary) vers /compte/vues, séparé de la liste des vues. - Corrige l'override de --bs-dropdown-link-hover-bg : Bootstrap 5.3 scope cette variable sur .dropdown-menu, donc un override sur :root est masqué. Déplacé sur .dropdown-menu. --- src/assets/css/style.css | 9 ++++++++- src/pages/tableau.py | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 64d1e6a..12a0013 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -692,6 +692,13 @@ button.show-hide { } /* Dropdowns */ +/* Bootstrap 5.3 redéfinit les variables --bs-dropdown-* SUR le sélecteur + .dropdown-menu : un override sur :root est masqué (déclaration composant plus + spécifique). On pose donc la surcharge sur .dropdown-menu. */ +.dropdown-menu { + --bs-dropdown-link-hover-bg: #ccc; +} + .Select-placeholder { color: #333 !important; } @@ -1102,6 +1109,6 @@ input[type="number"] { font-size: 90%; padding: 0.2rem 0.5rem; border: 1px solid var(--bs-border-color); - border-radius: var(--bs-border-radius); + border-radius: 3px; background-color: var(--bs-body-bg); } diff --git a/src/pages/tableau.py b/src/pages/tableau.py index a0d377e..016aa2e 100644 --- a/src/pages/tableau.py +++ b/src/pages/tableau.py @@ -413,6 +413,7 @@ layout = [ dbc.Label( "Lien direct vers cette vue :", className="mb-0", + style={"fontSize": "0.9em"}, ), # URL affichée comme texte sélectionnable : prend exactement # sa largeur (pas de champ pleine largeur qui encombre) et @@ -791,7 +792,13 @@ def populate_saved_views_menu(_pathname, _refresh): if not current_user_has_subscription(): return [] views = saved_views_db.list_views(current_user.id, "tableau") - return saved_views_ui.saved_views_items(views) + items = saved_views_ui.saved_views_items(views) + header = dbc.DropdownMenuItem( + "Gérer mes vues", href="/compte/vues", className="text-primary" + ) + # Lien de gestion en tête, séparé de la liste des vues (séparateur seulement + # s'il y a des vues en dessous, pour éviter un séparateur orphelin). + return [header, *([dbc.DropdownMenuItem(divider=True)] if items else []), *items] @callback(