hy2-panel/app/admin/admin-nav.tsx
2026-04-14 18:05:32 +08:00

34 lines
770 B
TypeScript

"use client";
import Link from "next/link";
import { usePathname } from "next/navigation";
type NavItem = {
href: string;
label: string;
meta: string;
};
export function AdminNav({ items }: { items: NavItem[] }) {
const pathname = usePathname();
return (
<nav className="nav-list">
{items.map((item) => {
const active = pathname === item.href || pathname.startsWith(`${item.href}/`);
return (
<Link
key={item.href}
href={item.href}
className={`nav-link ${active ? "is-active" : ""}`}
>
<span className="nav-link__label">{item.label}</span>
<span className="nav-link__meta">{item.meta}</span>
</Link>
);
})}
</nav>
);
}