Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions resources/js/components/AppHeader.vue
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@ const rightNavItems: NavItem[] = [
icon: BookOpen,
},
];

const getNavItemLink = (item:NavItem,defaultValue:string = '#') : string=>{
if(!item.href ) return defaultValue;
return item.type === 'route' ? route(item.href):item.href;
}
</script>

<template>
Expand All @@ -82,9 +87,9 @@ const rightNavItems: NavItem[] = [
<Link
v-for="item in mainNavItems"
:key="item.title"
:href="item.href"
:href="getNavItemLink(item)"
class="flex items-center gap-x-3 rounded-lg px-3 py-2 text-sm font-medium hover:bg-accent"
:class="activeItemStyles(item.href)"
:class="activeItemStyles(getNavItemLink(item))"
>
<component v-if="item.icon" :is="item.icon" class="h-5 w-5" />
{{ item.title }}
Expand All @@ -94,7 +99,7 @@ const rightNavItems: NavItem[] = [
<a
v-for="item in rightNavItems"
:key="item.title"
:href="item.href"
:href="getNavItemLink(item)"
target="_blank"
rel="noopener noreferrer"
class="flex items-center space-x-2 text-sm font-medium"
Expand All @@ -117,16 +122,16 @@ const rightNavItems: NavItem[] = [
<NavigationMenu class="ml-10 flex h-full items-stretch">
<NavigationMenuList class="flex h-full items-stretch space-x-2">
<NavigationMenuItem v-for="(item, index) in mainNavItems" :key="index" class="relative flex h-full items-center">
<Link :href="item.href">
<Link :href="getNavItemLink(item)">
<NavigationMenuLink
:class="[navigationMenuTriggerStyle(), activeItemStyles(item.href), 'h-9 cursor-pointer px-3']"
:class="[navigationMenuTriggerStyle(), activeItemStyles(getNavItemLink(item)), 'h-9 cursor-pointer px-3']"
>
<component v-if="item.icon" :is="item.icon" class="mr-2 h-4 w-4" />
{{ item.title }}
</NavigationMenuLink>
</Link>
<div
v-if="isCurrentRoute(item.href)"
v-if="isCurrentRoute(getNavItemLink(item))"
class="absolute bottom-0 left-0 h-0.5 w-full translate-y-px bg-black dark:bg-white"
></div>
</NavigationMenuItem>
Expand All @@ -146,7 +151,7 @@ const rightNavItems: NavItem[] = [
<Tooltip>
<TooltipTrigger>
<Button variant="ghost" size="icon" as-child class="group h-9 w-9 cursor-pointer">
<a :href="item.href" target="_blank" rel="noopener noreferrer">
<a :href="getNavItemLink(item)" target="_blank" rel="noopener noreferrer">
<span class="sr-only">{{ item.title }}</span>
<component :is="item.icon" class="size-5 opacity-80 group-hover:opacity-100" />
</a>
Expand Down