Skip to content

Commit 5492e6f

Browse files
committed
refactor(side-nav): use navigation-utils type guards
Replace inline property checks with shared type guard functions from navigation-utils. Add keyed each iteration for stable DOM updates when linkList changes.
1 parent e6a636b commit 5492e6f

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

src/lib/components/side-nav.svelte

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
44
import Navigation from '$lib/holocene/navigation/navigation-container.svelte';
55
import NavigationItem from '$lib/holocene/navigation/navigation-item.svelte';
6+
import {
7+
isNavDividerItem,
8+
isNavLinkItem,
9+
} from '$lib/holocene/navigation/navigation-utils';
610
import { translate } from '$lib/i18n/translate';
711
import type { NavLinkListItem } from '$lib/types/global';
812
@@ -16,10 +20,10 @@
1620
</script>
1721

1822
<Navigation {isCloud} {bottom} aria-label={translate('common.primary')}>
19-
{#each linkList as item}
20-
{#if 'divider' in item && item.divider}
23+
{#each linkList as item, i (i)}
24+
{#if isNavDividerItem(item)}
2125
<hr class="-mx-2 my-4 border-black/25" />
22-
{:else if 'href' in item && !item.hidden}
26+
{:else if isNavLinkItem(item) && !item.hidden}
2327
<NavigationItem
2428
link={item.href}
2529
label={item.label}

0 commit comments

Comments
 (0)