"use client"; import React, { useState, useEffect } from "react"; import { usePathname, useRouter } from "next/navigation"; import Link from "next/link"; import { Button } from "@/components/ui/button"; import { LayoutGrid, Calendar, Settings, LogOut, Menu, X, Heart, } from "lucide-react"; const navItems = [ { label: "Dashboard", icon: LayoutGrid, href: "/admin/dashboard" }, { label: "Book Appointment", icon: Calendar, href: "/admin/booking" }, ]; export default function SideNav() { const [open, setOpen] = useState(false); const pathname = usePathname(); const router = useRouter(); const getActiveIndex = () => { return navItems.findIndex((item) => pathname?.includes(item.href)) ?? -1; }; // Handle body scroll when mobile menu is open useEffect(() => { if (open) { document.body.classList.add("menu-open"); } else { document.body.classList.remove("menu-open"); } return () => { document.body.classList.remove("menu-open"); }; }, [open]); return ( <> {/* Mobile Top Bar */}