aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/components/Header.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/components/Header.svelte')
-rw-r--r--src/lib/components/Header.svelte38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte
new file mode 100644
index 0000000..eeeb78d
--- /dev/null
+++ b/src/lib/components/Header.svelte
@@ -0,0 +1,38 @@
1<script>
2 let menuOpen = false;
3
4 function toggleMenu() {
5 menuOpen = !menuOpen;
6 }
7
8 function closeMenu() {
9 menuOpen = false;
10 }
11</script>
12
13<header>
14 <div class="header-top">
15 <h1>Filip Wandzio</h1>
16 <button
17 class="menu-toggle"
18 on:click={toggleMenu}
19 aria-expanded={menuOpen}
20 aria-controls="main-nav"
21 >
22 {#if menuOpen}
23 ✕ <span class="sr-only">Close menu</span>
24 {:else}
25 ☰ <span class="sr-only">Open menu</span>
26 {/if}
27 </button>
28 </div>
29
30 <nav id="main-nav" aria-label="Main navigation">
31 <ul class:open={menuOpen}>
32 <li><a href="#about" on:click={closeMenu}>About</a></li>
33 <li><a href="#projects" on:click={closeMenu}>Projects</a></li>
34 <li><a href="#research" on:click={closeMenu}>Research</a></li>
35 <li><a href="#contact" on:click={closeMenu}>Contact</a></li>
36 </ul>
37 </nav>
38</header>