'use client'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { Image, ImagePlus, Sparkles, Settings, Activity, Edit3, Grid3X3 } from 'lucide-react'; import { cn } from '@/lib/utils'; /** * Sidebar - Navigation component * * Modern architecture: * - Simple, focused component with single responsibility * - No complex positioning logic - handled by parent grid layout * - TypeScript interfaces for navigation items * - Proper semantic HTML */ interface NavigationItem { name: string; href: string; icon: React.ComponentType<{ className?: string }>; } const navigation: NavigationItem[] = [ { name: 'Text to Image', href: '/text2img', icon: ImagePlus }, { name: 'Image to Image', href: '/img2img', icon: Image }, { name: 'Inpainting', href: '/inpainting', icon: Edit3 }, { name: 'Upscaler', href: '/upscaler', icon: Sparkles }, { name: 'Gallery', href: '/gallery', icon: Grid3X3 }, { name: 'Models', href: '/models', icon: Settings }, { name: 'Queue', href: '/queue', icon: Activity }, ]; export function Sidebar() { const pathname = usePathname(); return (
{/* Logo */}
SD REST UI
{/* Navigation */} {/* Footer */}

Stable Diffusion REST API

); }