"use client"; import { fetchData } from '@/lib/data-service'; import { useState } from "react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { Package, ShoppingCart, Home, Truck, Box, Settings, LogOut, Menu, } from "lucide-react"; interface NavItemProps { href: string; icon: React.ElementType; children: React.ReactNode; onClick?: () => void; } const NavItem = ({ href, icon: Icon, children, onClick }: NavItemProps) => ( {children} ); function Sidebar() { const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const router = useRouter(); const handleLogout = async () => { try { const authToken = document.cookie.split("authToken=")[1]; const res = await fetchData(`${process.env.NEXT_PUBLIC_API_URL}/logout`, { method: "POST", headers: { Authorization: `Bearer ${authToken}` }, credentials: "include", }); if (!res.ok) throw new Error("Logout failed"); document.cookie = "authToken=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT;"; router.push("/login"); } catch (error) { console.error("Logout error:", error); } }; return ( <> {isMobileMenuOpen && (
setIsMobileMenuOpen(false)} /> )} ); } export default Sidebar;