"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useState, useEffect } from "react"; import { cn } from "@/lib/utils"; import { Settings, Cloud, BookText, Upload, Shield, CreditCard, LayoutDashboard, LogIn, Crown, LogOut, } from "lucide-react"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; import { Badge } from "@/components/ui/badge"; interface User { id: string; name: string; email: string; plan: string; } const navigation = [ { name: "Translate", href: "/", icon: Upload, description: "Translate documents", }, { name: "General Settings", href: "/settings", icon: Settings, description: "Configure general settings", }, { name: "Translation Services", href: "/settings/services", icon: Cloud, description: "Configure translation providers", }, { name: "Context & Glossary", href: "/settings/context", icon: BookText, description: "System prompts and glossary", }, ]; const adminNavigation = [ { name: "Admin Dashboard", href: "/admin", icon: Shield, description: "System monitoring (login required)", }, ]; export function Sidebar() { const pathname = usePathname(); const [user, setUser] = useState(null); useEffect(() => { // Check for user in localStorage const storedUser = localStorage.getItem("user"); if (storedUser) { try { setUser(JSON.parse(storedUser)); } catch { setUser(null); } } }, []); const handleLogout = () => { localStorage.removeItem("token"); localStorage.removeItem("refresh_token"); localStorage.removeItem("user"); setUser(null); window.location.href = "/"; }; const planColors: Record = { free: "bg-zinc-600", starter: "bg-blue-500", pro: "bg-teal-500", business: "bg-purple-500", enterprise: "bg-amber-500", }; return ( ); }