"use client"; import clsx from "clsx"; import Link from "next/link"; import { useSelectedLayoutSegment } from "next/navigation"; import { type ComponentProps, useMemo } from "react"; const baseClasses = "font-semibold text-sm py-2 px-3"; type NavLinkProps = Omit, "href"> & { href: string; target?: "_blank" | "_self"; }; export const NavLink = ({ className, ...props }: NavLinkProps) => { const isCurrent = useIsCurrent(props.href); return isCurrent ? ( {props.children} ) : ( ); }; const useIsCurrent = (href: string) => { const selectedSegment = useSelectedLayoutSegment(); return useMemo( () => href.toString().split("/")[1] === selectedSegment, [href, selectedSegment], ); };