Merge pull request 'Se configuro el side bar para que mantenga abierto los catalogos fijos' (#423) from fix/catalogos-fijos-lista into development

Reviewed-on: ADUANASOFT/anexo76#423
This commit is contained in:
2026-05-22 20:52:24 +00:00

View File

@@ -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 @@
</Sidebar.MenuItem>
{:else}
<!-- Sidebar Expandido: Collapsible original -->
<Collapsible.Root open={item.isActive} class="group/collapsible">
<Collapsible.Root
open={item.isActive || item.items?.some((sub) => isUrlActive(sub.url))}
class="group/collapsible"
>
{#snippet child({ props })}
<Sidebar.MenuItem {...props}>
<Collapsible.Trigger>
@@ -215,7 +224,7 @@
<Sidebar.MenuSub>
{#each item.items as subItem (subItem.title)}
<Sidebar.MenuSubItem>
<Sidebar.MenuSubButton>
<Sidebar.MenuSubButton isActive={isUrlActive(subItem.url)}>
{#snippet child({ props })}
<a href={subItem.url} {...props}>
<span>{subItem.title}</span>