From 5d8ad078bdc735e708654e278b226868dc3bc403 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Thu, 27 Apr 2023 16:45:05 +0700 Subject: flash sale mapping, mobile flash sale --- src/lib/flashSale/components/FlashSale.jsx | 48 +++++++++++++++++++++--------- src/lib/product/api/productSearchApi.js | 4 +-- 2 files changed, 36 insertions(+), 16 deletions(-) (limited to 'src/lib') diff --git a/src/lib/flashSale/components/FlashSale.jsx b/src/lib/flashSale/components/FlashSale.jsx index 0167dc57..91248c12 100644 --- a/src/lib/flashSale/components/FlashSale.jsx +++ b/src/lib/flashSale/components/FlashSale.jsx @@ -2,6 +2,8 @@ import { useEffect, useState } from 'react' import flashSaleApi from '../api/flashSaleApi' import Image from '@/core/components/elements/Image/Image' import CountDown from '@/core/components/elements/CountDown/CountDown' +import productSearchApi from '@/lib/product/api/productSearchApi' +import ProductSlider from '@/lib/product/components/ProductSlider' const FlashSale = () => { const [flashSales, setFlashSales] = useState(null) @@ -14,24 +16,42 @@ const FlashSale = () => { loadFlashSales() }, []) - return flashSales?.length > 0 && ( -
- - {flashSales.map((flashSale, index) => ( -
-
{flashSale.name}
- -
-
+ return ( + flashSales?.length > 0 && ( +
+ {flashSales.map((flashSale, index) => ( +
+
+
{flashSale.name}
- {flashSale.name} -
-
- ))} -
+
+ {flashSale.name} + +
+
+ ))} +
+ ) ) } +const FlashSaleProduct = ({ flashSaleId }) => { + const [products, setProducts] = useState(null) + + useEffect(() => { + const loadProducts = async () => { + const dataProducts = await productSearchApi({ + query: `fq=flashsale_id_i:${flashSaleId}&fq=flashsale_price_f:[1 TO *]&limit=500`, + operation: 'AND' + }) + setProducts(dataProducts.response) + } + loadProducts() + }, [flashSaleId]) + + return +} + export default FlashSale diff --git a/src/lib/product/api/productSearchApi.js b/src/lib/product/api/productSearchApi.js index 71fb72e6..8ff8e57d 100644 --- a/src/lib/product/api/productSearchApi.js +++ b/src/lib/product/api/productSearchApi.js @@ -1,9 +1,9 @@ import _ from 'lodash-contrib' import axios from 'axios' -const productSearchApi = async ({ query }) => { +const productSearchApi = async ({ query, operation = 'OR' }) => { const dataProductSearch = await axios( - `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/search?${query}&operation=OR` + `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/search?${query}&operation=${operation}` ) return dataProductSearch.data } -- cgit v1.2.3