"use client";
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}
);
export default function Sidebar() {
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
const router = useRouter();
const handleLogout = async () => {
try {
const authToken = document.cookie.split("authToken=")[1];
const res = await fetch(`${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)}
/>
)}
>
);
}