'use client' import { LayoutDashboard, Users, Radar, FolderKanban, KeyRound, Receipt, Settings2, Command, Search, Bot, ScrollText, FileSignature, Wallet, FileText, LifeBuoy, BarChart3, Rocket, BookOpen, Webhook, } from 'lucide-react' import { useAos, type ViewId } from '@/store/aos' import { cn } from '@/lib/utils' import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' const NAV: { group: string items: { id: ViewId; label: string; icon: typeof LayoutDashboard; permission: string }[] }[] = [ { group: 'Übersicht', items: [ { id: 'dashboard', label: 'Dashboard', icon: LayoutDashboard, permission: '*' }, { id: 'reporting', label: 'Reporting', icon: BarChart3, permission: '*' }, ], }, { group: 'Vertrieb', items: [ { id: 'crm', label: 'CRM', icon: Users, permission: 'crm.company:read' }, { id: 'leads', label: 'Leads Finder', icon: Radar, permission: 'leads:read' }, { id: 'estimates', label: 'Angebote', icon: FileText, permission: 'estimates:read' }, ], }, { group: 'Lieferung', items: [ { id: 'projects', label: 'Projekte', icon: FolderKanban, permission: 'projects:read' }, { id: 'support', label: 'Support', icon: LifeBuoy, permission: 'support:read' }, ], }, { group: 'Betrieb', items: [ { id: 'licenses', label: 'Lizenzen', icon: KeyRound, permission: 'licenses:read' }, { id: 'contracts', label: 'Verträge', icon: FileSignature, permission: 'contracts:read' }, { id: 'expenses', label: 'Ausgaben', icon: Wallet, permission: 'expenses:read' }, { id: 'finance', label: 'Finanzen', icon: Receipt, permission: 'finance:read' }, { id: 'accounting', label: 'Buchhaltung', icon: BookOpen, permission: 'accounting:read' }, { id: 'audit', label: 'Audit-Protokoll', icon: ScrollText, permission: '*' }, ], }, { group: 'System', items: [ { id: 'settings', label: 'Erweiterungen', icon: Settings2, permission: 'admin' }, { id: 'api', label: 'API & Webhooks', icon: Webhook, permission: 'admin' }, { id: 'setup', label: 'Setup-Wizard', icon: Rocket, permission: 'admin' }, ], }, ] export function SidebarNav() { const { view, setView, setSidebarOpen, setCommandOpen } = useAos() return (
{/* Brand */}
A
AOS Nordlicht Digital
{/* Search trigger */}
{/* Nav */} {/* AI status */}
AI-Ebene Optional · Daten im Server
{/* User */}
) }