From 556e7e226a2043d43bc55bf0ff2118294bb9f330 Mon Sep 17 00:00:00 2001
From: it-fixcomart <it@fixcomart.co.id>
Date: Mon, 29 Jul 2024 13:32:39 +0700
Subject: <iman> update lob category

---
 src/lib/product/components/ProductSearch.jsx | 54 +++++++++++++---------------
 1 file changed, 24 insertions(+), 30 deletions(-)

(limited to 'src/lib/product/components/ProductSearch.jsx')

diff --git a/src/lib/product/components/ProductSearch.jsx b/src/lib/product/components/ProductSearch.jsx
index 2da84d63..12e3b358 100644
--- a/src/lib/product/components/ProductSearch.jsx
+++ b/src/lib/product/components/ProductSearch.jsx
@@ -27,6 +27,7 @@ import ProductSearchSkeleton from './Skeleton/ProductSearchSkeleton';
 import SideBanner from '~/modules/side-banner';
 import FooterBanner from '~/modules/footer-banner';
 import CategorySection from './CategorySection';
+import LobSectionCategory from './LobSectionCategory';
 import { getIdFromSlug } from '@/core/utils/slug'
 import { data } from 'autoprefixer';
 
@@ -48,7 +49,6 @@ const ProductSearch = ({
   const [dataCategoriesProduct, setDataCategoriesProduct] = useState([])
   const [dataCategoriesLob, setDataCategoriesLob] = useState([])
   const categoryId = getIdFromSlug(prefixUrl)
-  console.log("categoryId",categoryId ) 
   const [data, setData] = useState([])
   const [dataLob, setDataLob] = useState([]);
   if (defaultBrand) query.brand = defaultBrand.toLowerCase();
@@ -64,14 +64,14 @@ const ProductSearch = ({
       loadProduct();
     }else if(prefixUrl.includes('lob')){
       const loadProduct = async () => {
-        const lobData = await odooApi('GET', `/api/v1/lob_homepage?lob_id=${categoryId}`);
-        console.log("lobData",lobData ) 
+        const lobData = await odooApi('GET', `/api/v1/lob_homepage/${categoryId}/category_id`);
+         
         if (lobData) {
           setDataLob(lobData);
         }
       };
       loadProduct();
-      console.log("dataLob",dataLob ) 
+      
     }
   }, [categoryId]);
   
@@ -100,36 +100,27 @@ const ProductSearch = ({
       };
       setFinalQuery(newQuery);
     } else if (prefixUrl.includes('lob')){
-      console.log("prefixUrl",prefixUrl) 
+      
       const fetchCategoryData = async () => {
         if (dataLob[0]?.categoryIds) {
-          console.log("dataLob[0]?.categoryIds",dataLob[0]?.categoryIds) 
+          
           for (const cate of dataLob[0].categoryIds) {
-            console.log("cate",cate) 
-            const getCategoriesId = await odooApi('GET', `/api/v1/category/numFound?parent_id=${cate.id}`);
-            console.log("getCategoriesId",getCategoriesId) 
-            if (getCategoriesId) {
-              const ids = collectIds(getCategoriesId);
-              console.log("ids",ids) 
-              dataIdCategories.push(ids)
-              console.log("dataIdCategories",dataIdCategories) 
-            }
+           
+            dataIdCategories.push(cate.childId)
           }
           
-          console.log("dataIdCategories2",dataIdCategories) 
-          // setData(dataIdCategories)
-          // console.log("data",data) 
+        
           const mergedArray = dataIdCategories.flat();
-          console.log("mergedArray",mergedArray) 
+         
           const newQuery = {
             fq: `category_id_ids:(${mergedArray.join(' OR ')})`,
             page,
             brand : router.query.brand? router.query.brand : '',
             category : router.query.category? router.query.category : '',
           };
-          console.log("newQuery",newQuery) 
+       
           setFinalQuery(newQuery);
-          console.log("final query",finalQuery)
+         
         }
       };
       fetchCategoryData();
@@ -223,17 +214,18 @@ const ProductSearch = ({
   }, [q]);
  
   useEffect(() => {
-    const loadCategories = async () => {
-      const getCategories = await odooApi('GET', `/api/v1/category/child?parent_id=${categoryId}`)
-     if(getCategories){
-      setDataCategories(getCategories)
-     }
+    if(prefixUrl.includes('category')){
+      const loadCategories = async () => {
+        const getCategories = await odooApi('GET', `/api/v1/category/child?parent_id=${categoryId}`)
+       if(getCategories){
+        setDataCategories(getCategories)
+       }
+      }
+      loadCategories()
     }
-    loadCategories()
   }, [])
 
-  // console.log("query asal ", query)
-  // console.log("queryFinal", queryFinal)
+
 
 
   const brands = [];
@@ -381,7 +373,7 @@ const ProductSearch = ({
 
   const isNotReadyStockPage = router.asPath !== '/shop/search?orderBy=stock';
   
-  
+  console.log("finalQuery",finalQuery)
 
   return (
     <>
@@ -443,6 +435,7 @@ const ProductSearch = ({
               SpellingComponent
             )}
           </div>
+          <LobSectionCategory categories={dataLob}/>
           <CategorySection categories={dataCategories}/>
 
           {productFound > 0 && (
@@ -534,6 +527,7 @@ const ProductSearch = ({
           </div>
 
           <div className='w-9/12 pl-6'>
+            <LobSectionCategory categories={dataLob}/>
             <CategorySection categories={dataCategories}/>
             {bannerPromotionHeader && bannerPromotionHeader?.image && (
               <div className='mb-3'>
-- 
cgit v1.2.3

