fix(sidebar) : lien actif sur les sous-routes (match préfixe) + option exact
L'actif reposait sur l'active-class de NuxtLink, qui dépend de l'imbrication des routes Vue Router : sur un routing plat, /supplier n'était plus actif sur /supplier/1/edit. On calcule désormais l'actif côté composant via useRoute().path : actif si path === item.to OU path commence par item.to + '/'. Nouvelle option `exact: true` par item pour forcer le match strict. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -885,7 +885,10 @@ Barre latérale de navigation rétractable.
|
||||
| `sidebarClass` | `string` | `''` | Classes CSS sidebar |
|
||||
| `toggleClass` | `string` | `''` | Classes CSS bouton toggle |
|
||||
|
||||
**Type SidebarSection :** `{ title?: string, items: { label: string, icon?: string, to?: string, href?: string, active?: boolean }[] }`
|
||||
**Type SidebarSection :** `{ label?: string, icon?: string, items: SidebarItem[] }`
|
||||
**Type SidebarItem :** `{ label: string, to: string, exact?: boolean }`
|
||||
|
||||
**Lien actif :** un lien est marqué actif (texte `m-primary` + semi-bold) quand la route courante **est ce lien ou une de ses sous-routes** (match par préfixe) — ex. `/supplier` reste actif sur `/supplier/1/edit`. Mettre `exact: true` sur l'item force le match strict (actif uniquement sur la route exacte). Indépendant de l'imbrication des routes côté consommateur.
|
||||
|
||||
**Events :** `update:modelValue(value: boolean)`
|
||||
**Slots :** `logo` (sidebar ouverte), `logo-collapsed` (sidebar fermée)
|
||||
|
||||
Reference in New Issue
Block a user