"use client"; import { cn } from "@/lib/utils"; import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from "@/components/ui/sidebar"; import { footerNavLinks, getNavGroups } from "@/components/app-shared"; import { NavGroup } from "@/components/nav-group"; import { useAuth } from "@/lib/auth-context"; export function AppSidebar({ activePath }: { activePath?: string }) { const { user } = useAuth(); const groups = getNavGroups(activePath, user?.role); return ( span]:text-foreground/60", "**:data-[slot=sidebar-menu-button]:[&>svg]:text-foreground/50", "**:data-[slot=sidebar-menu-button]:[&>span]:transition-colors", "**:data-[slot=sidebar-menu-button]:[&>svg]:transition-colors", // Hover states for sidebar buttons "**:data-[slot=sidebar-menu-button]:hover:bg-sidebar-accent/50", "**:data-[slot=sidebar-menu-button]:hover:[&>span]:text-foreground", "**:data-[slot=sidebar-menu-button]:hover:[&>svg]:text-foreground", // Active state (Vermilion Pulse theme color) "**:data-[slot=sidebar-menu-button]:data-[active]:bg-primary/10!", "**:data-[slot=sidebar-menu-button]:data-[active]:[&>span]:text-primary!", "**:data-[slot=sidebar-menu-button]:data-[active]:[&>span]:font-semibold", "**:data-[slot=sidebar-menu-button]:data-[active]:[&>svg]:text-primary!", "**:data-[slot=sidebar-menu-button]:data-[active]:hover:bg-primary/15!", // Default text/icon colors for sidebar sub-buttons (faded) "**:data-[slot=sidebar-menu-sub-button]:[&>span]:text-foreground/60", "**:data-[slot=sidebar-menu-sub-button]:[&>span]:transition-colors", // Hover states for sub-buttons "**:data-[slot=sidebar-menu-sub-button]:hover:bg-sidebar-accent/50", "**:data-[slot=sidebar-menu-sub-button]:hover:[&>span]:text-foreground", // Active state for sub-buttons "**:data-[slot=sidebar-menu-sub-button]:data-[active]:bg-primary/10!", "**:data-[slot=sidebar-menu-sub-button]:data-[active]:[&>span]:text-primary!", "**:data-[slot=sidebar-menu-sub-button]:data-[active]:[&>span]:font-semibold", "**:data-[slot=sidebar-menu-sub-button]:data-[active]:hover:bg-primary/15!" )} collapsible="icon" variant="sidebar" > {/* eslint-disable-next-line @next/next/no-img-element */} }>Waras LogoWaras {groups.map((group, index) => ( ))} {footerNavLinks.map((item) => ( }>{item.icon}{item.title} ))}

© {new Date().getFullYear()} Waras

); }