From 9836f109c38d7f02c587329795e80e15ff33aafa Mon Sep 17 00:00:00 2001 From: "HATEC\\SPVDEV001" Date: Tue, 10 Oct 2023 17:09:23 +0700 Subject: add qty di nenu brang , filter ready stock, filter haga fix di page search --- .../product/components/ProductFilterDesktop.jsx | 77 ++++++++++++++++++++-- src/lib/product/components/ProductSearch.jsx | 19 +++++- src/pages/api/shop/search.js | 6 +- 3 files changed, 92 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/lib/product/components/ProductFilterDesktop.jsx b/src/lib/product/components/ProductFilterDesktop.jsx index b64349c7..08766e07 100644 --- a/src/lib/product/components/ProductFilterDesktop.jsx +++ b/src/lib/product/components/ProductFilterDesktop.jsx @@ -26,6 +26,7 @@ const ProductFilterDesktop = ({ brands, categories, prefixUrl, defaultBrand = nu const [categoryValues, setCategory] = useState(query?.category?.split(',') || []) const [priceFrom, setPriceFrom] = useState(query?.priceFrom) const [priceTo, setPriceTo] = useState(query?.priceTo) + const [stock, setStock] = useState(query?.stock) const handleCategoriesChange = (event) => { const value = event.target.value @@ -46,6 +47,38 @@ const ProductFilterDesktop = ({ brands, categories, prefixUrl, defaultBrand = nu } } + const handleReadyStockChange = (event) => { + const value = event.target.value + const isChecked = event.target.checked + if (isChecked) { + setStock(value) + } else { + setStock(null) + } + } + + const handlePriceFromChange = async (type) => { + let priceFrom = null + let priceTo = null + switch (type) { + case(1): + priceFrom = 100000 + priceFrom = 200000 + break; + case(2): + priceFrom = 100000 + priceFrom = 200000 + break; + case(1): + priceFrom = 100000 + priceFrom = 200000 + break; + } + await setPriceFrom(priceFrom) + await setPriceTo(priceTo) + handleSubmit() + } + const handleSubmit = () => { let params = { q: router.query.q, @@ -53,7 +86,8 @@ const ProductFilterDesktop = ({ brands, categories, prefixUrl, defaultBrand = nu brand: brandValues.join(','), category: categoryValues.join(','), priceFrom, - priceTo + priceTo, + stock : stock } params = _.pickBy(params, _.identity) params = toQuery(params) @@ -74,14 +108,19 @@ const ProductFilterDesktop = ({ brands, categories, prefixUrl, defaultBrand = nu {brands.map((brand, index) => ( -
+
- {brand} +
+ {brand.brand} +
+ {brand.qty > 99 ? '99+' : brand.qty} +
+
))} @@ -143,9 +182,37 @@ const ProductFilterDesktop = ({ brands, categories, prefixUrl, defaultBrand = nu onChange={(e) => setPriceTo(e.target.value)} /> +
+ + +
+
+ + +
+ + + + + Ketersedian Stok + + + + + + + Ketersedian Stock + + +