diff options
Diffstat (limited to 'src/lib/components/Header.svelte')
| -rw-r--r-- | src/lib/components/Header.svelte | 38 |
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> | ||
