import { useEffect, useState } from "react" import useProductSearch from "../hooks/useProductSearch" import ProductCard from "./ProductCard" import Pagination from "@/core/components/elements/Pagination/Pagination" import { toQuery } from "lodash-contrib" import _ from "lodash" import ProductSearchSkeleton from "./Skeleton/ProductSearchSkeleton" import ProductFilter from "./ProductFilter" import useActive from "@/core/hooks/useActive" const ProductSearch = ({ query, prefixUrl, defaultBrand = null }) => { const { page = 1 } = query if (defaultBrand) query.brand = defaultBrand.toLowerCase() const { productSearch } = useProductSearch({ query }) const [ products, setProducts ] = useState(null) const popup = useActive() const pageCount = Math.ceil(productSearch.data?.response.numFound / productSearch.data?.responseHeader.params.rows) const productStart = productSearch.data?.responseHeader.params.start const productRows = productSearch.data?.responseHeader.params.rows const productFound = productSearch.data?.response.numFound const brands = productSearch.data?.facetCounts?.facetFields?.brandStr?.filter((value, index) => { if (index % 2 === 0) { return true } }) const categories = productSearch.data?.facetCounts?.facetFields?.categoryNameStr?.filter((value, index) => { if (index % 2 === 0) { return true } }) useEffect(() => { if (!products) { setProducts(productSearch.data?.response?.products) } }, [query, products, productSearch]) if (productSearch.isLoading) { return } return (

Produk

{ productFound > 0 ? ( <> Menampilkan  {pageCount > 1 ? ( <> {productStart + 1}-{ (productStart + productRows) > productFound ? productFound : productStart + productRows }  dari  ) : ''} { productFound }  produk { query.q && (<>untuk pencarian { query.q }) } ) : 'Mungkin yang anda cari'}
{ products && products.map((product) => ( )) }
) } export default ProductSearch