Overview
TheAppSidebar component provides a responsive, collapsible navigation sidebar with menu groups, submenu support, and role-based filtering.
Component Location
Features
- Collapsible sidebar (expanded/collapsed states)
- Hover-to-expand when collapsed
- Menu groups with submenus
- Role-based menu filtering
- Active route highlighting
- Smooth transitions
- Mobile responsive
- Optional sidebar widget
Usage
Sidebar States
The sidebar has three main states:- Expanded - Full width (290px) with text labels
- Collapsed - Icon-only (90px)
- Hovered - Temporarily expanded when hovering collapsed sidebar
Menu Structure
Role-Based Filtering
The sidebar filters menu items based on user role:Composables
useSidebar
isExpanded- Desktop sidebar expanded stateisMobileOpen- Mobile sidebar visibilityisHovered- Hover state for collapsed sidebaropenSubmenu- Currently open submenu key
Methods
toggleSubmenu(groupIndex, itemIndex)
Toggles a submenu’s open/closed state:isActive(path)
Checks if a route is currently active:isSubmenuOpen(groupIndex, itemIndex)
Determines if a submenu should be open:Template Example
Transitions
Smooth submenu transitions:Icons
Imported from the icons directory:Styling
Menu Item States
Responsive Behavior
Desktop
- Fixed sidebar on left
- Toggles between 90px and 290px
- Hover to temporarily expand
Mobile
- Sidebar hidden by default
- Slides in from left when opened
- Full-width overlay