import odooApi from '@/core/api/odooApi' import React, { useEffect, useState } from 'react' import axios from 'axios'; import { useQuery } from 'react-query' import Link from '@/core/components/elements/Link/Link' import { createSlug } from '@/core/utils/slug' import Image from 'next/image' import { ChevronRightIcon } from '@heroicons/react/24/outline' import useProductSearch from '../../../lib/product/hooks/useProductSearch'; import { SolrResponse } from "~/types/solr"; import { fetchPromoItemsSolr } from '../api/popularProduct' const SOLR_HOST = process.env.SOLR_HOST const PopularBrand = ({ category }) => { const [topBrands, setTopBrands] = useState([]); const fetchTopBrands = async () => { try { const items = await fetchPromoItemsSolr(`category_id_ids:(${category.categoryDataIds.join(' OR ')})`); // console.log("id",items) // Fungsi untuk deduplikasi dan mengambil 12 nama brand teratas const getTop12UniqueBrands = (prod) => { const brandSet = new Set(); const topBrands = []; for (const product of prod) { if (!brandSet.has(product.manufacture_name)) { brandSet.add(product.manufacture_name); topBrands.push({ name: product.manufacture_name, id: product.manufacture_id }); }else{ } if (topBrands.length === 18) break; } return topBrands; } // Menggunakan hasil pencarian produk const products = items; const top12UniqueBrands = getTop12UniqueBrands(products); // console.log('top12UniqueBrands', top12UniqueBrands); setTopBrands(top12UniqueBrands); } catch (error) { console.error("Error fetching data from Solr", error); throw error; } } useEffect(() => { fetchTopBrands(); }, [category]); return (
{topBrands.map((brand, index) => (
{`${brand.name}`}
))}
{/* {topBrands.length > 8 && (

Lihat Semua Brand

)} */}
) } export default PopularBrand;