feat(tableau): lien « Gérer mes vues » en tête du dropdown + fix hover dropdown (#112)

- 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.
This commit is contained in:
Colin Maudry
2026-07-13 22:38:57 +02:00
parent 31427a8b3b
commit bee401430b
2 changed files with 16 additions and 2 deletions
+8 -1
View File
@@ -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);
}
+8 -1
View File
@@ -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(