summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-09-05 17:49:57 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-09-05 17:49:57 +0700
commit969ca83a9adce96b3b58973654b29d3c2dd47a88 (patch)
tree2ee2f25abde2104b415a163c3d2bac5c7e336798 /src/lib
parente522fe42e16d49fecfefd27f7c7592a3c90ad537 (diff)
<iman> update mapping solr
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/home/api/categoryManagementApi.js47
-rw-r--r--src/lib/home/components/CategoryDynamic.jsx25
2 files changed, 65 insertions, 7 deletions
diff --git a/src/lib/home/api/categoryManagementApi.js b/src/lib/home/api/categoryManagementApi.js
index b70d60ce..63edd629 100644
--- a/src/lib/home/api/categoryManagementApi.js
+++ b/src/lib/home/api/categoryManagementApi.js
@@ -1,8 +1,43 @@
-import odooApi from '@/core/api/odooApi'
+// import odooApi from '@/core/api/odooApi'
-const categoryManagementApi = async () => {
- const dataCategoryManagement = await odooApi('GET', '/api/v1/categories_management')
- return dataCategoryManagement
-}
+// const categoryManagementApi = async () => {
+// const dataCategoryManagement = await odooApi('GET', '/api/v1/categories_management')
+// return dataCategoryManagement
+// }
-export default categoryManagementApi
+// export default categoryManagementApi
+
+
+
+export const fetchPopulerProductSolr = async (category_id_ids) => {
+ let sort ='sort=qty_sold_f desc';
+ try {
+ const queryParams = new URLSearchParams({ q: category_id_ids });
+ const response = await fetch(`/solr/category_management/query?q=*:*&q.op=OR&indent=true`);
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+ const data = await response.json();
+ const promotions = await map(data.response.docs);
+ return promotions;
+ } catch (error) {
+ console.error("Error fetching promotion data:", error);
+ return [];
+ }
+ };
+
+ const map = async (promotions) => {
+ const result = [];
+ for (const promotion of promotions) {
+ const data = {
+ id: promotion.id,
+ name: promotion.name_s,
+ image: promotion.image_s,
+ sequence: promotion.sequence_i,
+ numFound: promotion.numFound_i,
+ categories_level_2:promotion.categories_level_2
+ };
+ result.push(data);
+ }
+ return result;
+ }; \ No newline at end of file
diff --git a/src/lib/home/components/CategoryDynamic.jsx b/src/lib/home/components/CategoryDynamic.jsx
index c257e9f9..11a15d6d 100644
--- a/src/lib/home/components/CategoryDynamic.jsx
+++ b/src/lib/home/components/CategoryDynamic.jsx
@@ -1,5 +1,6 @@
-import React, { useEffect, useState } from 'react';
+import React, { useEffect, useState, useCallback } from 'react';
import useCategoryManagement from '../hooks/useCategoryManagement';
+import {fetchPopulerProductSolr} from '../api/categoryManagementApi'
import NextImage from 'next/image';
import Link from "next/link";
import { createSlug } from '@/core/utils/slug';
@@ -12,6 +13,28 @@ import 'swiper/css/pagination';
import { Navigation, Pagination, Autoplay } from 'swiper';
const CategoryDynamic = () => {
+
+ const [manufactures, setManufactures] = useState([])
+ 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(false)
+ // setManufactures((manufactures) => [...result.data])
+ }, [])
+
+ useEffect(() => {
+ loadBrand()
+ }, [loadBrand])
const { categoryManagement } = useCategoryManagement();
// const [categoryData, setCategoryData] = useState({});
// const [subCategoryData, setSubCategoryData] = useState({});