+9
-2
src/components/dropdown.tsx
+9
-2
src/components/dropdown.tsx
···
43
43
);
44
44
};
45
45
46
-
export const NavMenu = (props: { href: string; label: string; icon: string; newTab?: boolean }) => {
46
+
export const NavMenu = (props: {
47
+
href: string;
48
+
label: string;
49
+
icon?: string;
50
+
newTab?: boolean;
51
+
}) => {
47
52
const ctx = useContext(MenuContext);
48
53
49
54
return (
···
53
58
class="flex items-center gap-1.5 rounded-lg p-1 hover:bg-neutral-200/50 active:bg-neutral-200 dark:hover:bg-neutral-700 dark:active:bg-neutral-600"
54
59
target={props.newTab ? "_blank" : undefined}
55
60
>
56
-
<span class={"iconify shrink-0 " + props.icon}></span>
61
+
<Show when={props.icon}>
62
+
<span class={"iconify shrink-0 " + props.icon}></span>
63
+
</Show>
57
64
<span class="whitespace-nowrap">{props.label}</span>
58
65
</A>
59
66
);
+3
-3
src/layout.tsx
+3
-3
src/layout.tsx
···
96
96
buttonClass="rounded-lg p-1"
97
97
menuClass="top-10 p-3"
98
98
>
99
-
<NavMenu href="/jetstream" label="Jetstream" icon="lucide--radio-tower" />
100
-
<NavMenu href="/firehose" label="Firehose" icon="lucide--waves" />
101
-
<NavMenu href="/settings" label="Settings" icon="lucide--settings" />
99
+
<NavMenu href="/jetstream" label="Jetstream" />
100
+
<NavMenu href="/firehose" label="Firehose" />
101
+
<NavMenu href="/settings" label="Settings" />
102
102
<ThemeSelection />
103
103
</DropdownMenu>
104
104
</MenuProvider>
-2
src/views/stream.tsx
-2
src/views/stream.tsx
···
149
149
inactiveClass="border-transparent hover:border-neutral-400 dark:hover:border-neutral-600"
150
150
href="/jetstream"
151
151
>
152
-
<span class="iconify lucide--radio-tower"></span>
153
152
Jetstream
154
153
</A>
155
154
<A
···
157
156
inactiveClass="border-transparent hover:border-neutral-400 dark:hover:border-neutral-600"
158
157
href="/firehose"
159
158
>
160
-
<span class="iconify lucide--waves"></span>
161
159
Firehose
162
160
</A>
163
161
</div>