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