diff --git a/resources/js/components/AppHeader.vue b/resources/js/components/AppHeader.vue index e5e3307f..aeab9501 100644 --- a/resources/js/components/AppHeader.vue +++ b/resources/js/components/AppHeader.vue @@ -10,6 +10,7 @@ import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/co import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; import UserMenuContent from '@/components/UserMenuContent.vue'; import { getInitials } from '@/composables/useInitials'; +import { toUrl, urlIsActive } from '@/lib/utils'; import { dashboard } from '@/routes'; import type { BreadcrumbItem, NavItem } from '@/types'; import { InertiaLinkProps, Link, usePage } from '@inertiajs/vue3'; @@ -27,11 +28,11 @@ const props = withDefaults(defineProps(), { const page = usePage(); const auth = computed(() => page.props.auth); -const isCurrentRoute = computed(() => (url: NonNullable) => page.url === (typeof url === 'string' ? url : url.url)); +const isCurrentRoute = computed(() => (url: NonNullable) => urlIsActive(url, page.url)); const activeItemStyles = computed( () => (url: NonNullable) => - isCurrentRoute.value(typeof url === 'string' ? url : url.url) ? 'text-neutral-900 dark:bg-neutral-800 dark:text-neutral-100' : '', + isCurrentRoute.value(toUrl(url)) ? 'text-neutral-900 dark:bg-neutral-800 dark:text-neutral-100' : '', ); const mainNavItems: NavItem[] = [ @@ -90,7 +91,7 @@ const rightNavItems: NavItem[] = [