import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from '@/components/ui/sidebar' import { useAuth } from '@/hooks/use-auth' import { Home, Settings, Volume2 } from 'lucide-react' import { Link, useLocation } from 'react-router' import { NavPlan } from './NavPlan' import { NavUser } from './NavUser' const navigationItems = [ { title: 'Dashboard', href: '/dashboard', icon: Home, }, { title: 'Soundboard', href: '/soundboard', icon: Volume2, }, ] const adminNavigationItems = [ { title: 'Sounds', href: '/admin/sounds', icon: Settings, }, ] export function AppSidebar() { const { user, logout } = useAuth() const { state } = useSidebar() const location = useLocation() const isOpen = state === 'expanded' const handleLogout = async () => { try { await logout() } catch (error) { console.error('Logout failed:', error) } } if (!user) return null const allNavItems = [ ...navigationItems, ...(user.role === 'admin' ? adminNavigationItems : []), ] return (
SB
{isOpen && (

Soundboard

v2.0

)}
{allNavItems.map(item => { const Icon = item.icon const isActive = location.pathname === item.href return ( {item.title} ) })}
) }