'use client'; import * as React from 'react'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { ChevronRight, MousePointer2, Palette, Eye, Languages, Layers, ChevronLeft, X } from 'lucide-react'; import { cn } from '@/lib/utils/cn'; import Logo from '@/components/Logo'; import { useSidebar } from './SidebarProvider'; import { Button } from '@/components/ui/button'; import { ColorIcon, UnitsIcon, FigletIcon, MediaIcon } from '@/components/AppIcons'; interface NavItem { title: string; href: string; icon: React.ElementType | React.ReactNode; items?: { title: string; href: string }[]; } interface NavGroup { label: string; items: NavItem[]; } const navigation: NavGroup[] = [ { label: 'Toolkit', items: [ { title: 'Units Converter', href: '/units', icon: }, { title: 'Figlet ASCII', href: '/figlet', icon: }, { title: 'Color Manipulation', href: '/color', icon: }, { title: 'Media Converter', href: '/media', icon: }, ] } ]; export function AppSidebar() { const pathname = usePathname(); const { isOpen, isCollapsed, close, toggleCollapse } = useSidebar(); return ( <> {/* Mobile Overlay Backdrop */} {isOpen && (
)} ); }