Files
dotter/resources/js/components/NavMain.svelte
T
salam e687b4437b
linter / quality (push) Canceled after 0s
tests / ci (8.3) (push) Canceled after 0s
tests / ci (8.4) (push) Canceled after 0s
tests / ci (8.5) (push) Canceled after 0s
first commit
2026-10-06 18:53:03 +02:00

50 lines
1.5 KiB
Svelte

<script lang="ts">
import { Link } from '@inertiajs/svelte';
import {
SidebarGroup,
SidebarGroupLabel,
SidebarMenu,
SidebarMenuButton,
SidebarMenuItem,
} from '@/components/ui/sidebar';
import { currentUrlState } from '@/lib/currentUrl.svelte';
import { toUrl } from '@/lib/utils';
import type { NavItem } from '@/types';
let {
items = [],
}: {
items: NavItem[];
} = $props();
const url = currentUrlState();
</script>
<SidebarGroup class="px-2 py-0">
<SidebarGroupLabel>Platform</SidebarGroupLabel>
<SidebarMenu>
{#each items as item (toUrl(item.href))}
<SidebarMenuItem>
<SidebarMenuButton
asChild
isActive={url.isCurrentUrl(item.href, url.currentUrl)}
tooltip={item.title}
>
{#snippet children(props)}
<Link
{...props}
href={toUrl(item.href)}
class={props.class}
>
{#if item.icon}
<item.icon class="size-4 shrink-0" />
{/if}
<span>{item.title}</span>
</Link>
{/snippet}
</SidebarMenuButton>
</SidebarMenuItem>
{/each}
</SidebarMenu>
</SidebarGroup>