|
1 | | -<svelte:options customElement="navbar-component" /> |
2 | | - |
3 | 1 | <script lang="ts"> |
4 | 2 | import Menu from "$lib/Menu/Menu.svelte"; |
5 | 3 | import MenuItem from "$lib/Menu/MenuItem.svelte"; |
| 4 | + import { isActive } from "$lib"; |
6 | 5 |
|
7 | 6 | let { pageName = "" } = $props(); |
8 | 7 |
|
9 | | - const isActive = (tabName: string) => { |
10 | | - return tabName === pageName ? "active" : ""; |
11 | | - }; |
12 | | -
|
13 | 8 | const modules = import.meta.glob<Object>( |
14 | 9 | "../../routes/games/*/+page.svelte", |
15 | 10 | { |
16 | 11 | eager: true, |
17 | 12 | }, |
18 | 13 | ); |
| 14 | +
|
| 15 | + console.log(pageName); |
| 16 | + |
| 17 | + let pageNames = pageName.split("/"); |
19 | 18 | </script> |
20 | 19 |
|
| 20 | +<svelte:head> |
| 21 | + <title>{pageNames[pageNames.length - 1]}</title> |
| 22 | +</svelte:head> |
| 23 | + |
21 | 24 | <ul id="navbar"> |
22 | | - <li class="navbar-item {isActive('Index')}" id="logo"> |
| 25 | + <li class="navbar-item {isActive('BreadBird Games', pageNames)}" id="logo"> |
23 | 26 | <a href="/"><img src="/Logo.png" alt="home" /></a> |
24 | 27 | </li> |
25 | 28 | <!-- margin left auto to move to the right, also moves all children after to the right --> |
26 | 29 | <li style="margin-left: auto;"> |
27 | 30 | <Menu> |
28 | | - <a class={isActive("Games")} id="games" slot="toggle">Games</a> |
29 | | - |
| 31 | + <a class={isActive("Games", pageNames)} id="games" slot="toggle">Games</a> |
| 32 | + |
30 | 33 | {#each Object.entries(modules) as [_path, module]} |
31 | 34 | <MenuItem |
| 35 | + class={isActive( |
| 36 | + _path |
| 37 | + .replace("../../routes/games/", "") |
| 38 | + .replace("/+page.svelte", ""), |
| 39 | + pageNames |
| 40 | + )} |
32 | 41 | path="/games/{_path |
33 | 42 | .replace('../../routes/games/', '') |
34 | 43 | .replace('/+page.svelte', '')}" |
35 | | - > |
36 | | - {_path |
| 44 | + title={ |
| 45 | + _path |
37 | 46 | .replace("../../routes/games/", "") |
38 | | - .replace("/+page.svelte", "")} |
| 47 | + .replace("/+page.svelte", "") |
| 48 | + } |
| 49 | + pageNames={pageNames} |
| 50 | + > |
39 | 51 | </MenuItem> |
40 | 52 | {/each} |
41 | 53 | </Menu> |
42 | 54 | </li> |
43 | | - <li class="navbar-item {isActive('About')}"> |
| 55 | + <li class="navbar-item {isActive('About', pageNames)}"> |
44 | 56 | <a href="/about"><span id="about">About Us!</span></a> |
45 | 57 | </li> |
46 | 58 | </ul> |
|
0 commit comments