"use client"; import React, { useContext, useState, useEffect } from "react"; import Link from "next/link"; import { Menu, ShoppingBag, UserRound } from "lucide-react"; import { IoMdClose } from "react-icons/io"; import Image from "next/image"; import SearchComponent from "../search/searchComponent"; import ProductContext from "@/app/contexts/productContext"; import MainContext from "@/app/contexts/mainContext"; import { useCurrency } from "@/app/contexts/currencyContext"; import CurrencySelect from "../dynamic-navbar/currencySelect"; const Navbar = () => { const [isSidebarOpen, setIsSidebarOpen] = useState(false); const [isScrolled, setIsScrolled] = useState(false); const { category } = useContext(ProductContext); const { token } = useContext(MainContext); const { selectedCurrency, setSelectedCurrency, SUPPORTED_CURRENCIES } = useCurrency(); const toggleSidebar = () => setIsSidebarOpen(!isSidebarOpen); useEffect(() => { const handleScroll = () => { setIsScrolled(window.scrollY > 60); }; window.addEventListener("scroll", handleScroll); return () => window.removeEventListener("scroll", handleScroll); }, []); const categoryItems = category ? category.map((category) => ({ label: category.category_name, url: `/collections/${category.id}`, })) : []; // Fallback to an empty array if category is undefined const consultation = { label: "Rudraksha consultation", url: "/products/premium-rudraksha-consultation-astrology", }; const visibleItems = [...categoryItems.slice(0, 4), consultation]; return ( <>
Logo
{token ? ( ) : ( )}
{visibleItems.map((item) => ( {item.label} ))}
{isSidebarOpen && (

Quick Links

  • Get a Consultation
  • Certification and Guarantee
  • Contact Us
  • Blogs

Categories

    {categoryItems.map((item) => (
  • {item.label}
  • ))}
)}
); }; export default Navbar;