"use client";
import { useState } from "react";
import Link from "next/link";
import { usePathname } from "next/navigation";
import {
LayoutDashboard, TrendingUp, Bell, Info, LogIn, UserPlus,
ChevronLeft, ChevronRight, Menu, X, Zap
} from "lucide-react";
const navItems = [
{ href: "/", label: "仪表盘", icon: LayoutDashboard },
{ href: "/kline", label: "K线大图", icon: TrendingUp },
{ href: "/signals", label: "信号历史", icon: Bell },
{ href: "/about", label: "说明", icon: Info },
];
const authItems = [
{ href: "/login", label: "登录", icon: LogIn },
{ href: "/register", label: "注册", icon: UserPlus },
];
export default function Sidebar() {
const pathname = usePathname();
const [collapsed, setCollapsed] = useState(false);
const [mobileOpen, setMobileOpen] = useState(false);
const SidebarContent = ({ mobile = false }: { mobile?: boolean }) => (
{/* Logo */}
{(!collapsed || mobile) && (
Arbitrage
Engine
)}
{/* Nav */}
{/* Auth */}
{authItems.map(({ href, label, icon: Icon }) => (
setMobileOpen(false)}
className={`flex items-center gap-3 px-3 py-2 rounded-lg text-sm text-slate-500 hover:bg-slate-100 hover:text-slate-800 transition-colors
${collapsed && !mobile ? "justify-center px-0" : ""}`}>
{(!collapsed || mobile) && {label}}
))}
{/* Collapse toggle (desktop only) */}
{!mobile && (
)}
);
return (
<>
{/* Desktop sidebar */}
{/* Mobile top bar */}
Arbitrage Engine
{/* Mobile drawer */}
{mobileOpen && (
setMobileOpen(false)}>
)}
>
);
}