"use client"; import { useState } from 'react'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { cn } from '@/lib/utils'; import { Button } from '@/components/ui/button'; import { Separator } from '@/components/ui/separator'; import { Home, FolderOpen, Users, Type, Image, History, ChevronLeft, ChevronRight, Video, PanelsLeftBottom, ArrowLeftToLine, X } from 'lucide-react'; interface SidebarProps { collapsed: boolean; onToggle: (collapsed: boolean) => void; } const navigationItems = [ { title: 'Main', items: [ { name: 'Home', href: '/', icon: Home }, { name: 'Media Library', href: '/media', icon: FolderOpen }, { name: 'Actors Library', href: '/actors', icon: Users }, { name: 'Task History', href: '/history', icon: History }, ], } ]; export function Sidebar({ collapsed, onToggle }: SidebarProps) { const pathname = usePathname(); return ( <> {/* Backdrop */} {!collapsed && (
onToggle(true)} /> )} {/* Sidebar */}
{/* Navigation */}
{navigationItems.map((section, index) => (
{section.items.map((item) => { const isActive = pathname === item.href; return ( ); })}
))}
); }