From f7ad601638549f024201d3ee1fa920abe7c74f64 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Fri, 6 Sep 2024 14:59:17 +0700 Subject: update mapping solr data fetch --- src/lib/home/components/CategoryDynamic.jsx | 38 +++++++------------ src/lib/home/components/CategoryDynamicMobile.jsx | 45 +++++++++++++++-------- 2 files changed, 43 insertions(+), 40 deletions(-) (limited to 'src/lib/home/components') diff --git a/src/lib/home/components/CategoryDynamic.jsx b/src/lib/home/components/CategoryDynamic.jsx index 11a15d6d..ca104ada 100644 --- a/src/lib/home/components/CategoryDynamic.jsx +++ b/src/lib/home/components/CategoryDynamic.jsx @@ -1,6 +1,5 @@ import React, { useEffect, useState, useCallback } from 'react'; -import useCategoryManagement from '../hooks/useCategoryManagement'; -import {fetchPopulerProductSolr} from '../api/categoryManagementApi' +import {fetchCategoryManagementSolr} from '../api/categoryManagementApi' import NextImage from 'next/image'; import Link from "next/link"; import { createSlug } from '@/core/utils/slug'; @@ -14,28 +13,20 @@ import { Navigation, Pagination, Autoplay } from 'swiper'; const CategoryDynamic = () => { - const [manufactures, setManufactures] = useState([]) + const [categoryManagement, setCategoryManagement] = useState([]) + const [isLoading, setIsLoading] = useState(false) const loadBrand = useCallback(async () => { - // setIsLoading(true) - //Get brand from odoo - /*const result = await odooApi( - 'GET', - `/api/v1/manufacture?limit=0&offset=${manufactures.length}&name=${name}` - )*/ - - // Change get brands from solr - const items = await fetchPopulerProductSolr(); - - console.log("items",items) + setIsLoading(true) + const items = await fetchCategoryManagementSolr(); - // setIsLoading(false) - // setManufactures((manufactures) => [...result.data]) + setIsLoading(false) + setCategoryManagement(items) }, []) useEffect(() => { loadBrand() }, [loadBrand]) - const { categoryManagement } = useCategoryManagement(); + // const [categoryData, setCategoryData] = useState({}); // const [subCategoryData, setSubCategoryData] = useState({}); @@ -76,18 +67,17 @@ const CategoryDynamic = () => { return (
- {categoryManagement && categoryManagement.data?.map((category) => { + {categoryManagement && categoryManagement?.map((category) => { // const countLevel1 = categoryData[category.categoryIdI] || 0; - return ( - +
{category.name}
{/*

{countLevel1} Produk tersedia

*/} - Lihat Semua + Lihat Semua
{/* Swiper for SubCategories */} @@ -115,13 +105,13 @@ const CategoryDynamic = () => { {countLevel2} Produk tersedia

*/} - Lihat Semua + Lihat Semua
- {subCategory.childFrontendIdI.map((childCategory) => ( + {subCategory.child_frontend_id_i.map((childCategory) => (
- + { - const { categoryManagement } = useCategoryManagement() const [selectedCategory, setSelectedCategory] = useState({}); + const [categoryManagement, setCategoryManagement] = useState([]) + const [isLoading, setIsLoading] = useState(false) + + const loadBrand = useCallback(async () => { + setIsLoading(true) + const items = await fetchCategoryManagementSolr(); + + setIsLoading(false) + setCategoryManagement(items) + }, []) + + useEffect(() => { + loadBrand() + }, [loadBrand]) useEffect(() => { const loadPromo = async () => { try { - if (categoryManagement.data?.length > 0) { - const initialSelections = categoryManagement.data.reduce((acc, category) => { + if (categoryManagement?.length > 0) { + const initialSelections = categoryManagement.reduce((acc, category) => { if (category.categories.length > 0) { - acc[category.id] = category.categories[0].idLevel2; + acc[category.id] = category.categories[0].id_level_2; } return acc; }, {}); @@ -28,7 +41,7 @@ const CategoryDynamicMobile = () => { }; loadPromo(); - }, [categoryManagement.data]); + }, [categoryManagement]); const handleCategoryLevel2Click = (categoryIdI, idLevel2) => { setSelectedCategory(prev => ({ @@ -39,18 +52,18 @@ const CategoryDynamicMobile = () => { return (
- {categoryManagement.data && categoryManagement.data.map((category) => ( + {categoryManagement && categoryManagement?.map((category) => (
-
{category.name}
- Lihat Semua +
{category?.name}
+ Lihat Semua
{category.categories.map((index) => (
handleCategoryLevel2Click(category.id, index?.idLevel2)} - className={`border flex justify-start items-center max-w-48 max-h-16 rounded ${selectedCategory[category.id] === index?.idLevel2 ? 'bg-red-50 border-red-500 text-red-500' : 'border-gray-200 text-gray-900'}`} + onClick={() => handleCategoryLevel2Click(category.id, index?.id_level_2)} + className={`border flex justify-start items-center max-w-48 max-h-16 rounded ${selectedCategory[category.id] === index?.id_level_2 ? 'bg-red-50 border-red-500 text-red-500' : 'border-gray-200 text-gray-900'}`} >
@@ -62,7 +75,7 @@ const CategoryDynamicMobile = () => { className='' />
-
{index.name}
+
{index?.name}
@@ -73,9 +86,9 @@ const CategoryDynamicMobile = () => {
{category.categories.map((index) => ( - selectedCategory[category.id] === index?.idLevel2 && index.childFrontendIdI.map((x) => ( + selectedCategory[category.id] === index?.id_level_2 && index?.child_frontend_id_i.map((x) => (
- + { className='p-2' />
-
{x.name}
+
{x?.name}
-- cgit v1.2.3