import React, { useEffect, useState } from 'react'; import useCategoryManagement from '../hooks/useCategoryManagement'; import NextImage from 'next/image'; import Link from "next/link"; import { createSlug } from '@/core/utils/slug'; import odooApi from '@/core/api/odooApi'; const CategoryDynamic = () => { const { categoryManagement } = useCategoryManagement(); const [categoryData, setCategoryData] = useState({}); const [subCategoryData, setSubCategoryData] = useState({}); useEffect(() => { const fetchCategoryData = async () => { if (categoryManagement && categoryManagement.data) { const updatedCategoryData = {}; const updatedSubCategoryData = {}; for (const category of categoryManagement.data) { // Calculate level 1 products const countLevel1 = await odooApi('GET', `/api/v1/category/numFound?parent_id=${category.categoryIdI}`); // console.log("countLevel1.child",countLevel1) updatedCategoryData[category.categoryIdI] = countLevel1?.numFound; // Calculate level 2 products for each sub-category for (const subCategory of countLevel1.children) { updatedSubCategoryData[subCategory.id] = subCategory.numFound; } } setCategoryData(updatedCategoryData); setSubCategoryData(updatedSubCategoryData); } }; fetchCategoryData(); }, [categoryManagement, categoryData]); return (
{categoryManagement && categoryManagement.data?.map((category) => { const countLevel1 = categoryData[category.categoryIdI] || 0; return (
{category.name}

{countLevel1} Produk tersedia

Lihat Semua
{category.categories.map((subCategory) => { const countLevel2 = subCategoryData[subCategory.idLevel2] || 0; return (
{subCategory.name}

{countLevel2} Produk tersedia

Lihat Semua
{subCategory.childFrontendIdI.map((childCategory) => (
{childCategory.name}
))}
); })}
); })}
); }; export default CategoryDynamic;