refactor: Extract Sidebar Link to component

This commit is contained in:
Arvid Norlin
2024-04-11 13:44:04 +02:00
parent 3d2fafff6d
commit c0b68f9e5b
7 changed files with 102 additions and 22 deletions

View File

@@ -0,0 +1,29 @@
"use client"
import { linkVariants } from "./variants"
import NextLink from "next/link"
import type { LinkProps } from "./link"
import { usePathname } from "next/navigation"
export default function Link({
className,
href,
size,
variant,
...props
}: LinkProps) {
const currentPageSlug = `/${usePathname()
.split("/")
.filter((v) => v)
.at(-1)}`
const isActive = currentPageSlug === href
const classNames = linkVariants({
active: isActive,
className,
size,
variant,
})
return <NextLink className={classNames} href={href} {...props} />
}