import React, { useState } from 'react'; import { LayoutDashboard, Tag, MapPin, Users, Package, FileText, HelpCircle, LogOut, ChevronDown, ChevronRight, Layers, Type, FileBox, Settings } from 'lucide-react'; import { cn } from '../ui/utils'; import { ScrollArea } from '../ui/scroll-area'; import logo from "figma:asset/773f0c39e1986271e9144596caac519f934a6ae6.png"; interface SidebarProps { currentView: string; setCurrentView: (view: string) => void; } export function Sidebar({ currentView, setCurrentView }: SidebarProps) { const [labelingOpen, setLabelingOpen] = useState(true); const menuItems = [ { name: 'Dashboard', icon: LayoutDashboard, type: 'item' }, { type: 'header', name: 'MODULES' }, { name: 'Labeling', icon: Tag, type: 'sub', isOpen: labelingOpen, toggle: () => setLabelingOpen(!labelingOpen), children: [ { name: 'Labels', icon: Tag }, { name: 'Label Categories', icon: Layers }, { name: 'Label Types', icon: Type }, { name: 'Label Templates', icon: FileBox }, { name: 'Multiple Options', icon: Settings }, ] }, { type: 'header', name: 'MANAGEMENT' }, { name: 'Location Manager', icon: MapPin, type: 'item' }, { type: 'header', name: 'SYSTEM MANAGEMENT' }, { name: 'Account Management', icon: Users, type: 'item' }, { name: 'Menu Management', icon: Package, type: 'item' }, { name: 'System Menu', icon: Settings, type: 'item' }, { name: 'Reports', icon: FileText, type: 'item' }, { name: 'Support', icon: HelpCircle, type: 'item' }, { name: 'Log Out', icon: LogOut, type: 'item' }, ]; return (
MedVantage
{menuItems.map((item, index) => { if (item.type === 'header') { return (
{item.name}
); } if (item.type === 'sub') { return (
{item.isOpen && (
{item.children?.map((child, childIndex) => ( ))}
)}
); } return ( ); })}
); }