|
1 | 1 | <script> |
2 | | - import { Github } from "@lucide/svelte"; |
| 2 | + import { Github, Menu, X } from "@lucide/svelte"; |
| 3 | + import { slide } from "svelte/transition"; |
| 4 | +
|
| 5 | + let menuOpen = $state(false); |
| 6 | +
|
| 7 | + const toggleMenu = () => { |
| 8 | + menuOpen = !menuOpen; |
| 9 | + }; |
| 10 | +
|
| 11 | + const closeMenu = () => { |
| 12 | + menuOpen = false; |
| 13 | + }; |
3 | 14 | </script> |
4 | 15 |
|
5 | 16 | <nav id="navbar" class="flex h-16 items-center bg-base-300 px-4"> |
6 | 17 | <a class="font-rocket-rinder text-xl text-secondary" href="/"> |
7 | 18 | Neal Wang |
8 | 19 | </a> |
9 | | - <div class="absolute left-1/2 -translate-x-1/2 font-cascadia-code"> |
| 20 | + |
| 21 | + <div |
| 22 | + class="absolute left-1/2 hidden -translate-x-1/2 font-cascadia-code md:block" |
| 23 | + > |
10 | 24 | <a class="link link-secondary link-hover" href="/bio">main</a> |
11 | 25 | <span> :: </span> |
12 | 26 | <a class="link link-secondary link-hover" href="/experience"> |
|
17 | 31 | Research |
18 | 32 | </a> |
19 | 33 | <span> -> </span> |
20 | | - <a class="link link-secondary link-hover" href="/event">Talks</a> |
| 34 | + <a class="link link-secondary link-hover" href="/event">Events</a> |
21 | 35 | <span> -> </span> |
22 | 36 | <a class="link link-secondary link-hover" href="/art" target="_blank"> |
23 | 37 | Creative |
|
26 | 40 | <a class="link link-secondary link-hover" href="/uses">Uses</a> |
27 | 41 | <span class="text-primary">()</span> |
28 | 42 | </div> |
| 43 | + |
29 | 44 | <div class="flex-1"></div> |
| 45 | + |
30 | 46 | <div class="tooltip tooltip-left" data-tip="GitHub repo"> |
31 | 47 | <a href="https://github.com/neowsl/neowsl.github.io" target="_blank"> |
32 | 48 | <Github /> |
33 | 49 | </a> |
34 | 50 | </div> |
| 51 | + |
| 52 | + <div class="flex md:hidden"> |
| 53 | + <div class="w-4"></div> |
| 54 | + <button class="hover:cursor-pointer" onclick={toggleMenu}> |
| 55 | + {#if !menuOpen} |
| 56 | + <Menu /> |
| 57 | + {:else} |
| 58 | + <X /> |
| 59 | + {/if} |
| 60 | + </button> |
| 61 | + </div> |
| 62 | + |
| 63 | + {#if menuOpen} |
| 64 | + <ul |
| 65 | + transition:slide |
| 66 | + class="absolute top-16 left-0 z-50 flex w-full flex-col items-center gap-4 bg-base-100 p-4 shadow-lg md:hidden" |
| 67 | + > |
| 68 | + <li><a href="/" onclick={closeMenu}>Synthwave</a></li> |
| 69 | + <li><a href="/bio" onclick={closeMenu}>Bio</a></li> |
| 70 | + <li><a href="/experience" onclick={closeMenu}>Experience</a></li> |
| 71 | + <li><a href="/publication" onclick={closeMenu}>Research</a></li> |
| 72 | + <li><a href="/event" onclick={closeMenu}>Events</a></li> |
| 73 | + <li><a href="/art" onclick={closeMenu}>Creative</a></li> |
| 74 | + <li><a href="/uses" onclick={closeMenu}>Uses</a></li> |
| 75 | + </ul> |
| 76 | + {/if} |
35 | 77 | </nav> |
36 | 78 |
|
37 | 79 | <style> |
|
0 commit comments