Skip to content

VSN-2938 — Unifier le rendu des lignes désactivées + fix sélecteur mois/année du filtre date

yahya.elmokhtari a demandé de fusionner VSN-2938 vers develop

Architecture & Navigation

• Aucun changement de routing ni de structure de dossiers — refactor purement visuel sur les composants de ligne existants et un fix de pile z-index sur le composant Calendar partagé.

Lists & Filters Management Features

Rendu unifié des lignes désactivées sur toutes les listes du backoffice (usagers, circuits, trajets, avenants, contrats, clients, chauffeurs, établissements, attendance, secteurs/lots/départements/agences, véhicules + incidents + révisions + réparations, fournisseurs carburant, prestataires, marques/modèles, chauffeur-row, mobile-schedule-config).

Filtre date des listes utilisable — le menu déroulant mois/année du calendrier de filtre s'ouvre maintenant correctement par-dessus le popover parent (était caché derrière avant).

Components Architecture

Core Components: usager/shadcn/components/usager-table-row.tsx, circuit/shadcn/components/circuit-table-row.tsx — traitement complet (split-panel sticky + bande latérale gauche + hover atténué).

Specialized Components: 19 autres *-table-row.tsx migrés du hack opacity-60 vers les classes canoniques (bg-[hsl(var(--muted))] text-muted-foreground/85 border-[hsl(var(--muted-foreground)/0.18)]).

Interactive Elements: src/components/ui/calendar.tsx — sous-composant CalendarDropdown du sélecteur mois/année passé en z-[10200].

Key Features

Fond muted plein au lieu d'opacity : suppression de opacity: 0.6 / opacity-60 qui rendait la ligne semi-transparente et laissait fuiter le contenu (texte fantôme superposé visible sur split-panel sticky + scrollable).

Texte muté ciblé : remplacement de [&_*]:text-muted-foreground (qui écrasait aussi les badges) par text-muted-foreground/85 qui cascade naturellement — les status pills gardent leurs couleurs vives pour rester scannables.

Bande latérale gauche en gris sur les lignes désactivées (usager + circuit) : remplace temporairement la couleur département / colorCode du circuit pour un signal « désactivé » immédiat.

Hover atténué sur lignes désactivées : var(--neo-shadow-md) sans var(--glow-primary), bordure muted — la ligne reste cliquable mais ne se comporte plus comme une ligne active.

Stack z-index des popovers de filtre corrigée : le popover du sélecteur mois/année passe de z-[10050] à z-[10200] pour rester au-dessus du date picker (z-[10100]).

Technical Implementation

Surface réduite du diff : un seul remplacement chirurgical par fichier sur les 19 lignes secondaires — 'opacity-60' → triple classe canonique, sans toucher au reste du composant.

Conservation des IDs / état par ligne : la transition n'altère aucun handler ni stockage — les lignes restent les mêmes, seul leur rendu change.

Cohérence visuelle : tokens partagés (--muted, --muted-foreground, --neo-shadow-sm/md) — alignement avec l'identité dashboard (soft purple, neo-shadows).

Z-index normalisé côté Calendar : le menu déroulant du caption est désormais garanti au-dessus de tout popover de filtre imbriqué dans le projet, pas seulement celui de la liste usagers.

Closes VSN-2938

Rapports de requête de fusion