since3-portal/modules/shared/ui/components/sidebar-menu-link.tsx
2026-09-27 16:06:22 +02:00

32 lines
817 B
TypeScript

"use client"
import Link from "next/link";
import { usePathname } from "next/navigation";
import { SidebarMenuButton, SidebarMenuItem, useSidebar } from "@/components/ui/sidebar";
export function SidebarMenuLink({
title,
url,
icon,
}: {
title: string;
url: string;
icon: React.ReactNode;
}) {
const pathname = usePathname();
const { setOpenMobile } = useSidebar();
const isActive = pathname === url;
return (
<SidebarMenuItem>
<SidebarMenuButton
render={<Link href={url} onClick={() => setOpenMobile(false)} />}
isActive={isActive}
className="h-10 text-[0.95rem]"
>
{icon}
<span>{title}</span>
</SidebarMenuButton>
</SidebarMenuItem>
)
}