"use client"; import { useState, useEffect } from "react"; import Link from "next/link"; import Image from "next/image"; import { usePathname, useRouter } from "next/navigation"; import { LayoutDashboard, LineChart, PieChart, Settings, LogOut, ChevronDown } from "lucide-react"; import clsx from "clsx"; import { PremiumCard } from "@/components/features/PremiumCard"; const navigation = [ { name: "Dashboard", href: "/", icon: LayoutDashboard }, { name: "Market", href: "/market", icon: LineChart }, { name: "Portfolio", href: "/portfolio", icon: PieChart }, { name: "Settings", href: "/settings", icon: Settings }, ]; interface User { id: string; email: string; role: string; } export function Sidebar() { const router = useRouter(); const pathname = usePathname(); const [user, setUser] = useState(null); const [isMenuOpen, setIsMenuOpen] = useState(false); useEffect(() => { // Demo: Get user from localStorage const demoUser = localStorage.getItem('demo_user'); if (demoUser) { setUser(JSON.parse(demoUser)); } // Listen for storage changes (for demo purposes) const handleStorageChange = () => { const updatedUser = localStorage.getItem('demo_user'); setUser(updatedUser ? JSON.parse(updatedUser) : null); }; window.addEventListener('storage', handleStorageChange); return () => window.removeEventListener('storage', handleStorageChange); }, []); const handleSignOut = async () => { // Demo: Clear mock user data localStorage.removeItem('demo_user'); setUser(null); router.push("/auth/signin"); }; return (
TradePro
{user ? (
{isMenuOpen && (
Settings
)}
) : ( Sign in )}
); }