Fix active link issue in navbar

Signed-off-by: nurRiyad <asadnurriyad@gmail.com>
This commit is contained in:
nurRiyad
2024-10-30 23:46:11 +06:00
parent 0b82562fde
commit b519903c0d

View File

@@ -5,6 +5,11 @@ const colorMode = useColorMode()
function onClick(val: string) { function onClick(val: string) {
colorMode.preference = val colorMode.preference = val
} }
const route = useRoute()
function isActive(path: string) {
return route.path.startsWith(path)
}
</script> </script>
<template> <template>
@@ -12,24 +17,24 @@ function onClick(val: string) {
<div class="flex px-6 container max-w-5xl justify-between mx-auto items-baseline "> <div class="flex px-6 container max-w-5xl justify-between mx-auto items-baseline ">
<ul class="flex items-baseline space-x-5"> <ul class="flex items-baseline space-x-5">
<li class="text-base sm:text-2xl font-bold"> <li class="text-base sm:text-2xl font-bold">
<NuxtLink to="/"> <NuxtLink to="/" :class="{ underline: $route.path === '/' }">
{{ navbarData.homeTitle }} {{ navbarData.homeTitle }}
</NuxtLink> </NuxtLink>
</li> </li>
</ul> </ul>
<ul class="flex items-center space-x-3 sm:space-x-6 text-sm sm:text-lg"> <ul class="flex items-center space-x-3 sm:space-x-6 text-sm sm:text-lg">
<li> <li>
<NuxtLink to="/blogs"> <NuxtLink to="/blogs" :class="{ underline: isActive('/blogs') }">
Blogs Blogs
</NuxtLink> </NuxtLink>
</li> </li>
<li> <li>
<NuxtLink to="/categories"> <NuxtLink to="/categories" :class="{ underline: isActive('/categories') }">
Categories Categories
</NuxtLink> </NuxtLink>
</li> </li>
<li title="About Me"> <li title="About Me">
<NuxtLink to="/about" aria-label="About me"> <NuxtLink to="/about" aria-label="About me" :class="{ underline: $route.path === '/about' }">
About About
</NuxtLink> </NuxtLink>
</li> </li>
@@ -63,9 +68,3 @@ function onClick(val: string) {
</div> </div>
</div> </div>
</template> </template>
<style>
.router-link-active .router-link-exact-active {
@apply underline
}
</style>