Skip to content

Commit 8ded52b

Browse files
authored
fix: search button is shown on 404 if it starts with awesome privacysomething (#139)
1 parent a28214d commit 8ded52b

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

src/lib/components/navbar.svelte

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,25 @@
1212
import Search from '$lib/features/awesome-privacy/components/search.svelte';
1313
import { cn } from '$lib/utils/cn';
1414
15-
const drawerId = 'navbar-drawer';
16-
17-
let { search }: { search: LayoutData['search'] } = $props();
15+
const DRAWER_ID = 'navbar-drawer';
1816
1917
let drawer: HTMLInputElement | undefined;
2018
19+
function isPath(base: string) {
20+
const pathname = page.url.pathname;
21+
22+
return pathname === base || pathname.startsWith(base + '/');
23+
}
24+
2125
function toggleDrawer() {
22-
const drawer = document.getElementById(drawerId) as HTMLInputElement;
26+
const drawer = document.getElementById(DRAWER_ID) as HTMLInputElement;
27+
2328
if (drawer) {
2429
drawer.checked = !drawer.checked;
2530
}
2631
}
32+
33+
let { search }: { search: LayoutData['search'] } = $props();
2734
</script>
2835

2936
<nav class="w-full bg-base-100 shadow-sm">
@@ -37,9 +44,7 @@
3744

3845
<div class="ml-auto flex items-center gap-2">
3946
<!-- awesome-privacy search trigger (desktop) -->
40-
<div
41-
class={cn('hidden', page.url.pathname.startsWith(resolve('/awesome-privacy')) && 'block')}
42-
>
47+
<div class={cn('hidden', isPath(resolve('/awesome-privacy')) && 'block')}>
4348
<Search {search} />
4449
</div>
4550

@@ -48,17 +53,17 @@
4853

4954
<!-- mobile drawer -->
5055
<div class="drawer drawer-end ml-auto w-fit md:hidden">
51-
<input bind:this={drawer} id={drawerId} type="checkbox" class="drawer-toggle" />
56+
<input bind:this={drawer} id={DRAWER_ID} type="checkbox" class="drawer-toggle" />
5257
<div class="drawer-content">
5358
<label
54-
for={drawerId}
59+
for={DRAWER_ID}
5560
class="drawer-button btn btn-square text-base-content/50 btn-ghost"
5661
>
5762
<Icons.menu class="text-lg" />
5863
</label>
5964
</div>
6065
<div class="drawer-side">
61-
<label for={drawerId} aria-label="close drawer" class="drawer-overlay"></label>
66+
<label for={DRAWER_ID} aria-label="close drawer" class="drawer-overlay"></label>
6267

6368
<div class="flex min-h-full w-80 flex-col bg-base-200 *:w-full">
6469
<div class="w-full bg-base-100 pt-2 pb-1">

0 commit comments

Comments
 (0)