summaryrefslogtreecommitdiff
path: root/src/lib/product/components/ProductSearch.jsx
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-07-29 13:32:39 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-07-29 13:32:39 +0700
commit556e7e226a2043d43bc55bf0ff2118294bb9f330 (patch)
tree9251e44a438878829b4c051a573e0c568996c07a /src/lib/product/components/ProductSearch.jsx
parentf1910544cf6df50bcb175b66b604f5903f6ae3fa (diff)
<iman> update lob category
Diffstat (limited to 'src/lib/product/components/ProductSearch.jsx')
-rw-r--r--src/lib/product/components/ProductSearch.jsx54
1 files changed, 24 insertions, 30 deletions
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'>