import React, { useState, useContext, useRef, useEffect } from "react"; import { Search } from "lucide-react"; import Link from "next/link"; import ProductContext from "@/app/contexts/productContext"; import { backendUrl } from "@/utils/axios"; import Image from "next/image"; const SearchComponent = ({ isScrolled }) => { const [searchTerm, setSearchTerm] = useState(""); const [showSuggestions, setShowSuggestions] = useState(false); const [isExpanded, setIsExpanded] = useState(false); const { products, category } = useContext(ProductContext); const searchRef = useRef(null); const filteredProducts = products ?.filter((product) => product.product_name.toLowerCase().includes(searchTerm.toLowerCase()) ) .slice(0, 5); const filteredCategories = category ?.filter((category) => category.category_name.toLowerCase().includes(searchTerm.toLowerCase()) ) .slice(0, 3); useEffect(() => { const handleClickOutside = (event) => { if (searchRef.current && !searchRef.current.contains(event.target)) { setShowSuggestions(false); if (isScrolled) setIsExpanded(false); } }; document.addEventListener("mousedown", handleClickOutside); return () => document.removeEventListener("mousedown", handleClickOutside); }, [isScrolled]); const handleSearchChange = (e) => { setSearchTerm(e.target.value); setShowSuggestions(true); }; const SearchInput = () => (