import type { LucideIcon } from "lucide-react"; import { LogOut, UserCircle2 } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, useSidebar, } from "@/components/ui/sidebar"; import { cn } from "@/lib/utils"; export type RoleSidebarItem = { id: TMenu; label: string; icon: LucideIcon; }; type AppRoleSidebarProps = { brandIcon: LucideIcon; brandTitle: string; menuItems: RoleSidebarItem[]; activeMenu: TMenu; onSelectMenu: (menu: TMenu) => void; userName: string; userRoleLabel: string; onLogout: () => void; }; export function AppRoleSidebar({ brandIcon: BrandIcon, brandTitle, menuItems, activeMenu, onSelectMenu, userName, userRoleLabel, onLogout, }: AppRoleSidebarProps) { const { isMobile, setOpenMobile } = useSidebar(); return (

{brandTitle}

{menuItems.map((item) => { const isActive = activeMenu === item.id; return ( ); })}

{userName}

{userRoleLabel}

); }