"use client"; import { useState } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { DOCS_CONFIG } from "@/constants/docsConfig"; import { DEFAULT_LANG } from "@/constants/languages"; import { ChevronDown, ChevronRight, BookOpen, Rocket, Terminal, Monitor, FolderOpen, HelpCircle, MessageCircle, Layers, Plug, Cloud, Zap, Wallet, Gift, GitBranch, BarChart3, Code2, Sparkles, Server, Globe } from "lucide-react"; const SECTION_ICONS = { "Getting Started": Rocket, "Providers": Layers, "Features": Zap, "Integration": Plug, "Deployment": Cloud, "Help": HelpCircle }; const ITEM_ICONS = { "Introduction": BookOpen, "Quick Start": Rocket, "Installation": Terminal, "Subscription (Maximize)": Sparkles, "Cheap (Backup)": Wallet, "Free (Fallback)": Gift, "Smart Routing": GitBranch, "Combos & Fallback": Layers, "Quota Tracking": BarChart3, "Claude Code": Code2, "OpenAI Codex": Code2, "Cursor": Code2, "Cline": Code2, "Roo": Code2, "Continue": Code2, "Other Tools": Plug, "Localhost": Monitor, "Cloud (VPS/Docker)": Server, "Troubleshooting": HelpCircle, "FAQ": MessageCircle }; export default function DocsSidebar({ isMobile = false, onClose, lang = DEFAULT_LANG }) { const pathname = usePathname(); const [openSections, setOpenSections] = useState( DOCS_CONFIG.navigation.map((_, i) => i) ); const toggleSection = (index) => { setOpenSections(prev => prev.includes(index) ? prev.filter(i => i !== index) : [...prev, index] ); }; // Build URL for a navigation slug under current language const buildHref = (slug) => (slug ? `/${lang}/${slug}` : `/${lang}`); const isActive = (slug) => pathname === buildHref(slug); const handleLinkClick = () => { if (isMobile && onClose) { onClose(); } }; return ( ); }