diff --git a/frontend/src/lib/components/sidebar/nav-main.svelte b/frontend/src/lib/components/sidebar/nav-main.svelte index 241ac726..d8bdf508 100644 --- a/frontend/src/lib/components/sidebar/nav-main.svelte +++ b/frontend/src/lib/components/sidebar/nav-main.svelte @@ -5,6 +5,7 @@ import { useSidebar } from '$lib/components/ui/sidebar/context.svelte.js'; import ChevronRight from '@lucide/svelte/icons/chevron-right'; import { authStore, userHasPermission } from '$lib/auth'; + import { page } from '$app/state'; let { items @@ -23,6 +24,11 @@ }[]; } = $props(); + function isUrlActive(url: string): boolean { + const pathname = page.url.pathname; + return pathname === url || pathname.startsWith(url + '/'); + } + // Filtrar items segĂșn permisos (si el item tiene la propiedad 'permission') const filteredItems = $derived( items @@ -195,7 +201,10 @@ {:else} - + isUrlActive(sub.url))} + class="group/collapsible" + > {#snippet child({ props })} @@ -215,7 +224,7 @@ {#each item.items as subItem (subItem.title)} - + {#snippet child({ props })} {subItem.title}