"use client";
import { useState } from "react";
import Link from "next/link";
import { usePathname } from "next/navigation";
import { useAuth } from "@/lib/auth";
import {
LayoutDashboard, Info,
Menu, X, Zap, LogIn, UserPlus,
ChevronLeft, ChevronRight, Activity, LogOut, Monitor, LineChart, Bolt
} from "lucide-react";
const navItems = [
{ href: "/", label: "仪表盘", icon: LayoutDashboard },
{ href: "/trades", label: "成交流", icon: Activity },
{ href: "/live", label: "⚡ 实盘交易", icon: Bolt, section: "── 实盘 ──" },
{ href: "/signals-v53", label: "V5.3 信号引擎", icon: Zap, section: "── V5.3 ──" },
{ href: "/paper-v53", label: "V5.3 模拟盘", icon: LineChart },
{ href: "/signals-v53fast", label: "V5.3 Fast 信号", icon: Zap, section: "── V5.3 Fast ──" },
{ href: "/paper-v53fast", label: "V5.3 Fast 模拟盘", icon: LineChart },
{ href: "/server", label: "服务器", icon: Monitor },
{ href: "/about", label: "说明", icon: Info },
];
export default function Sidebar() {
const pathname = usePathname();
const [collapsed, setCollapsed] = useState(false);
const [mobileOpen, setMobileOpen] = useState(false);
const { user, isLoggedIn, logout } = useAuth();
const SidebarContent = ({ mobile = false }: { mobile?: boolean }) => (
{/* Logo */}
{(!collapsed || mobile) && (
Arbitrage
Engine
)}
{/* Nav */}
{/* Collapse toggle (desktop only) */}
{!mobile && (
)}
);
return (
<>
{/* Desktop sidebar */}
{/* Mobile top bar */}
Arbitrage Engine
{isLoggedIn ? (
) : (
<>
登录
注册
>
)}
{/* Mobile drawer */}
{mobileOpen && (
setMobileOpen(false)}>
)}
>
);
}