improved should reload

This commit is contained in:
2025-08-21 18:22:56 +02:00
parent 8fbb692a2c
commit 2ac88ac0d6

View File

@@ -28,7 +28,6 @@
SheetTrigger
} from '$lib/components/ui/sheet';
import { cn } from '$lib/utils';
import { navigationMenuTriggerStyle } from './ui/navigation-menu/navigation-menu-trigger.svelte';
import { page } from '$app/stores';
import { onMount, tick } from 'svelte';
import { tweened } from 'svelte/motion';
@@ -116,9 +115,16 @@
expandedSubmenu = expandedSubmenu === itemName ? null : itemName;
}
const reloadPaths = ['/blog/'];
function shouldReload(url?: string) {
if (!url) return false;
const currentPath = $page.url.pathname;
const shouldReload = $derived($page.url.pathname.startsWith('/blog/'));
return reloadPaths.some(path =>
url.startsWith(path) && currentPath.startsWith(path)
);
}
</script>
<nav class="bg-primary relative z-[50] py-3">
@@ -156,9 +162,7 @@
'relative z-20 text-white transition-colors hover:text-white/80 focus:bg-white/10 focus:outline-none focus:ring-2 focus:ring-white/20'
)}
href={item.url}
data-sveltekit-reload={item.url?.startsWith('/blog/') && shouldReload
? true
: undefined}
data-sveltekit-reload={shouldReload(item.url) ? true : undefined}
>
{item.name}
</NavigationMenuLink>
@@ -170,9 +174,7 @@
<NavigationMenuLink
href={item.url}
class="focus:outline-none"
data-sveltekit-reload={item.url?.startsWith('/blog/') && shouldReload
? true
: undefined}
data-sveltekit-reload={shouldReload(item.url) ? true : undefined}
>
{item.name}
</NavigationMenuLink>
@@ -191,9 +193,7 @@
<NavigationMenuLink
href={subitem.url}
class="block rounded-md px-4 py-2 text-white transition-colors hover:bg-white/10 hover:text-white/80 focus:bg-white/10 focus:text-white focus:outline-none focus:ring-2 focus:ring-white/20"
data-sveltekit-reload={subitem.url?.startsWith('/blog/') && shouldReload
? true
: undefined}
data-sveltekit-reload={shouldReload(subitem.url) ? true : undefined}
>
{subitem.name}
</NavigationMenuLink>
@@ -236,9 +236,7 @@
index === activeIndex && 'bg-white/20'
)}
onclick={closeMobileMenu}
data-sveltekit-reload={item.url?.startsWith('/blog/') && shouldReload
? true
: undefined}
data-sveltekit-reload={shouldReload(item.url) ? true : undefined}
>
{item.name}
</Button>
@@ -281,9 +279,7 @@
href={item.url}
class="block rounded-md px-6 py-2 text-sm text-white/80 transition-colors hover:text-white focus:outline-none focus:ring-2 focus:ring-white/20"
onclick={closeMobileMenu}
data-sveltekit-reload={item.url?.startsWith('/blog/') && shouldReload
? true
: undefined}
data-sveltekit-reload={shouldReload(item.url) ? true : undefined}
>
{item.name}
</Button>
@@ -293,9 +289,7 @@
href={subitem.url}
class="block rounded-md px-6 py-2 text-sm text-white/80 transition-colors hover:text-white focus:outline-none focus:ring-2 focus:ring-white/20"
onclick={closeMobileMenu}
data-sveltekit-reload={subitem.url?.startsWith('/blog/') && shouldReload
? true
: undefined}
data-sveltekit-reload={shouldReload(subitem.url) ? true : undefined}
>
{subitem.name}
</Button>