'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'; interface NavItem { title: string; href: string; icon: React.ElementType | React.ReactNode; items?: { title: string; href: string }[]; } interface NavGroup { label: string; items: NavItem[]; } const PastelIcon = (props: any) => ( ); const UnitsIcon = (props: any) => ( ); const FigletIcon = (props: any) => ( ); const navigation: NavGroup[] = [ { label: 'Toolkit', items: [ { title: 'Units Converter', href: '/units', icon: }, { title: 'Figlet ASCII', href: '/figlet', icon: }, { title: 'Pastel (Color)', href: '/pastel', icon: , items: [ { title: 'Harmony Palettes', href: '/pastel/harmony' }, { title: 'Distinct Colors', href: '/pastel/distinct' }, { title: 'Gradients', href: '/pastel/gradient' }, { title: 'Contrast Checker', href: '/pastel/contrast' }, { title: 'Color Blindness', href: '/pastel/colorblind' }, { title: 'Text Color', href: '/pastel/textcolor' }, { title: 'Named Colors', href: '/pastel/names' }, { title: 'Batch Operations', href: '/pastel/batch' }, ] }, ] } ]; export function AppSidebar() { const pathname = usePathname(); const { isOpen, isCollapsed, close, toggleCollapse } = useSidebar(); return ( <> {/* Mobile Overlay Backdrop */} {isOpen && (
)} ); }