Skip to content

Commit ebb973a

Browse files
committed
Close SideNav when clicking on NavAnchor
1 parent 301255a commit ebb973a

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

src/lib/components/shared/NavAnchor.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { page } from '$app/stores';
33
import { isAnchorActive } from '$lib/utils/index';
44
import type { Snippet } from 'svelte';
5+
import type { HTMLAnchorAttributes } from 'svelte/elements';
56
import { twMerge } from 'tailwind-merge';
67
78
let {
@@ -17,7 +18,7 @@
1718
target?: string;
1819
fuzzy?: boolean;
1920
class?: string;
20-
} = $props();
21+
} & HTMLAnchorAttributes = $props();
2122
</script>
2223

2324
<a

src/lib/components/shared/NavBar.svelte

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
88
let sidebarOpen = $state(false);
99
10-
const toggleSidebar = () => (sidebarOpen = !sidebarOpen);
10+
const toggleSidebar = () => {
11+
console.log('test');
12+
sidebarOpen = !sidebarOpen;
13+
};
1114
1215
$effect(() => {
1316
if (sidebarOpen) {
@@ -26,7 +29,7 @@
2629
<Button variant="outline" size="icon" onclick={toggleSidebar}>
2730
<IconX />
2831
</Button>
29-
<SideNav class="-ml-4" />
32+
<SideNav class="-ml-4" onclick={toggleSidebar} />
3033
</div>
3134
{/if}
3235
<div class="flex flex-grow justify-center p-4">
Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
11
<script lang="ts">
22
import NavAnchor from '$lib/components/shared/NavAnchor.svelte';
3+
import type { MouseEventHandler } from 'svelte/elements';
34
45
let {
56
class: className,
7+
onclick,
68
...restProps
79
}: {
810
class?: string;
11+
onclick?: MouseEventHandler<HTMLAnchorElement>;
912
} = $props();
1013
</script>
1114

1215
<div class={className} {...restProps}>
1316
<ul>
14-
<li><NavAnchor href="/">Home</NavAnchor></li>
17+
<li><NavAnchor {onclick} href="/">Home</NavAnchor></li>
1518
<li>
16-
<NavAnchor href="/projects">Projects</NavAnchor>
19+
<NavAnchor {onclick} href="/projects">Projects</NavAnchor>
1720
<ul>
18-
<li><NavAnchor fuzzy href="/projects/web">Web</NavAnchor></li>
19-
<li><NavAnchor fuzzy href="/projects/cpp">C/C++</NavAnchor></li>
20-
<li><NavAnchor fuzzy href="/projects/python">Python</NavAnchor></li>
21-
<li><NavAnchor fuzzy href="/projects/other">Other</NavAnchor></li>
21+
<li><NavAnchor {onclick} fuzzy href="/projects/web">Web</NavAnchor></li>
22+
<li><NavAnchor {onclick} fuzzy href="/projects/cpp">C/C++</NavAnchor></li>
23+
<li><NavAnchor {onclick} fuzzy href="/projects/python">Python</NavAnchor></li>
24+
<li><NavAnchor {onclick} fuzzy href="/projects/other">Other</NavAnchor></li>
2225
</ul>
2326
</li>
24-
<li><NavAnchor href="/blog">Blog</NavAnchor></li>
25-
<li><NavAnchor href="/hobbies">Hobbies</NavAnchor></li>
27+
<li><NavAnchor {onclick} href="/blog">Blog</NavAnchor></li>
28+
<li><NavAnchor {onclick} href="/hobbies">Hobbies</NavAnchor></li>
2629
</ul>
2730
</div>

0 commit comments

Comments
 (0)