"use client"; import Link from "next/link"; import type { ReactNode } from "react"; import { usePathname } from "next/navigation"; /** * Sidebar link that highlights when its route is active. "/admin" matches * exactly; every other entry also matches its sub-routes (e.g. /admin/radio is * active on /admin/radio/history) so the current section stays lit. */ export function AdminNavLink({ href, icon, children, }: { href: string; icon?: ReactNode; children: ReactNode; }) { const pathname = usePathname() ?? ""; const active = href === "/admin" ? pathname === "/admin" : pathname === href || pathname.startsWith(`${href}/`); return ( {icon ? ( {icon} ) : null} {children} ); }