"use client"; import Image from "next/image"; import { useContext, useEffect, useState } from "react"; import divider from "../../public/images/divider.png"; import logoWhite from "../../public/images/logo-white.png"; import logoBlack from "../../public/images/logo.png"; import SearchSideBar from "@comp/Category/Mobile/Component/SearchSideBar/page"; import AppContext from "@ctx/AppContext"; import Link from "next/link"; import PersianNumber from "plugins/PersianNumber"; import BottomSheetCart from "plugins/bottomSheet/BottomSheetCart"; import CartNavbar from "./CartNavbar/page"; import { debounce } from "lodash"; import { useRouter } from "next/navigation"; import ResultSearchBar from "./ResultSearchBar/page"; const Navbar = ({ theme }) => { const [open, setOpen] = useState(false); const CTX = useContext(AppContext); const router = useRouter(); const dataNav = CTX?.state?.navData?.filter( (item) => item.name !== "بهداشت خانه و آشپرخانه" ); const profile = CTX.state.profile; const cart = CTX.state.cart; const searchResultCategoryData = CTX.state.searchResultData.categories; const searchResultProductData = CTX.state.searchResultData.products; const [navItemHover, setNavItemHover] = useState(null); const [isDesktop, setIsDesktop] = useState(null); const [closeNavbar, setClosNavbar] = useState(false); const [isScrolled, setIsScrolled] = useState(false); const [smallDashboard, setSmallDashboard] = useState(false); const [searchResultShow, setSearchResultShow] = useState(false); const [searchValue, setSearchValue] = useState(""); const handleItemNavber = (index) => { setNavItemHover(index); }; const handleRemoveSearch = () => { CTX.setSearchResultData([]); setSearchValue(""); setSearchResultShow(false); }; useEffect(() => { const handleResize = () => { setIsDesktop(window.innerWidth > 1000); // You can adjust the width threshold as needed }; // Set initial window size handleResize(); // Add event listener to handle window resize window.addEventListener("resize", handleResize); // Remove event listener on component unmount return () => { window.removeEventListener("resize", handleResize); }; }, []); useEffect(() => { const handleScroll = () => { const scrollTop = window.scrollY; setIsScrolled(scrollTop > 200); }; window.addEventListener("scroll", handleScroll); return () => { window.removeEventListener("scroll", handleScroll); }; }, []); useEffect(() => { // Define a function to send the request const sendRequest = async () => { CTX.fetchSearchResult(searchValue); setSearchResultShow(true); }; // Set a timer to send the request after 2000 milliseconds of inactivity const timer = setTimeout(() => { if (searchValue.trim() !== "") { sendRequest(); } }, 1000); // Clean up function to clear the timer on component unmount or when searchTerm changes return () => clearTimeout(timer); }, [searchValue]); const handleInputChange = (event) => { setSearchValue(event.target.value); }; return ( <> {isDesktop && (
وسمه vesmeh
<>
handleInputChange(e)} /> {!searchResultShow ? (
) : (
handleRemoveSearch()} >
)}
{searchResultShow && (
setSearchResultShow(!searchResultShow)} >
)} {profile?.length <= 0 ? (
ورود / عضویت{" "}
) : (
setSmallDashboard(!smallDashboard)} >

{profile?.firstName} {profile?.lastName}

{smallDashboard && (
setSmallDashboard(true)} onMouseLeave={() => setSmallDashboard(false)} >
  • داشبورد

  • پیگیری سفارش

  • آدرس ها{" "}

  • همکاری در فروش{" "}

  • CTX.setBottomSheetLogOutOpen(true) } >

    خروج{" "}

)}
)}
{dataNav?.map((e, index) => (

handleItemNavber(index)} onMouseLeave={() => setNavItemHover(null)} key={index} > {e.name}{" "}

))}
{/*
{ const element = document.getElementById("offer"); if (element) { const offset = -80; // Adjust this value as needed window.scrollTo({ top: element.offsetTop + offset, behavior: "smooth", }); } }} >

بمب امروز

*/}
setNavItemHover(navItemHover)} onMouseLeave={() => setNavItemHover(null)} >
    {navItemHover != null && dataNav && dataNav[navItemHover].children.map((e, index) => (
  • {e.name}

    {e.children.length > 0 && (
    )}
    {/* ======hear==== */} {e.children && e.children.length > 0 && (
    {e.children.map((child, index) => (

    {child.name}

    ))}
    )}
  • ))}
{`${dataNav[navItemHover]?.name}
{/*

چرا آرایشی وسمه ؟

*/}
)} {!isDesktop && ( <>
{" "}
{isScrolled ? ( وسمه vesmeh ) : ( وسمه vesmeh )}
{profile?.length <= 0 ? (
ورود / عضویت{" "}
) : (
setSmallDashboard(!smallDashboard)} >

{profile?.firstName} {profile?.lastName}

{" "}
{smallDashboard && (
setSmallDashboard(true)} onMouseLeave={() => setSmallDashboard(false)} >
  • داشبورد

  • پیگیری سفارش

  • آدرس ها{" "}

  • همکاری در فروش{" "}

  • CTX.setBottomSheetLogOutOpen(true) } >

    خروج{" "}

)}
)}
CTX.setBottomSheetCartOpen(true)} > {/*
{cart?.length > 0 && (
)}
*/}
{cart?.length > 0 && (
)}
CTX.setBottomSheetCartOpen(true)} >

سبد خرید

)} ); }; export default Navbar;