= ({
href,
label,
icon,
isExpanded,
isActive,
onNavigate,
}) => (
{
if (onNavigate) {
onNavigate();
}
}}
>
{icon}
{isExpanded ? (
{label}
) : (
{label}
)}
);
export default function Sidebar({
isExpanded,
onToggle,
isMobile = false,
onNavigate,
}: SidebarProps) {
const sidebarId = useId();
const pathname = usePathname() || "";
const handleLogout = () => {
signOut({ callbackUrl: "/login" });
};
return (
<>
{/* Backdrop overlay when sidebar is expanded on mobile */}
{isExpanded && isMobile && (
{
if (e.key === "Escape") {
onToggle();
}
}}
role="button"
tabIndex={0}
aria-label="Close sidebar"
/>
)}
>
);
}