"use client"
import {
BarChart2,
Package,
ShoppingCart,
Users,
Settings,
HelpCircle,
Menu,
Home,
Truck,
Box,
DollarSign,
LogOut,
SunMoon,
} from "lucide-react"
import Link from "next/link"
import { useState } from "react"
import { useRouter } from "next/navigation"
import type React from "react"
export default function Sidebar() {
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false)
const router = useRouter()
function handleNavigation() {
setIsMobileMenuOpen(false)
}
async function handleLogout() {
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;" // Clear cookie
router.push("/login")
} catch (error) {
console.error("Error logging out:", error)
}
}
function NavItem({
href,
icon: Icon,
children,
}: {
href: string
icon: any
children: React.ReactNode
}) {
return (