diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/product/components/ProductFilter.jsx | 44 | ||||
| -rw-r--r-- | src/lib/product/components/ProductFilterDesktop.jsx | 9 | ||||
| -rw-r--r-- | src/lib/product/components/ProductSearch.jsx | 17 |
3 files changed, 41 insertions, 29 deletions
diff --git a/src/lib/product/components/ProductFilter.jsx b/src/lib/product/components/ProductFilter.jsx index 40bfc824..38e2d2c3 100644 --- a/src/lib/product/components/ProductFilter.jsx +++ b/src/lib/product/components/ProductFilter.jsx @@ -87,27 +87,25 @@ const ProductFilter = ({ active, close, brands, categories, prefixUrl, defaultBr return ( <BottomPopup active={active} close={close} title='Filter Produk'> <div className='flex flex-col gap-y-4'> - {!router.pathname.includes('brands') && - !defaultBrand && ( - <div> - <label>Brand</label> - <select - name='brand' - className='form-input mt-2' - value={brand} - onChange={(e) => setBrand(e.target.value)} - > - <option value=''>Pilih Brand...</option> - {brands.map((brand, index) => ( - <option value={brand.brand} key={index}> - {brand.brand} <span className='text-sm text-gray-200'>({brand.qty})</span> - </option> - ))} - </select> - </div> - ) - } - + {!router.pathname.includes('brands') && !defaultBrand && ( + <div> + <label>Brand</label> + <select + name='brand' + className='form-input mt-2' + value={brand} + onChange={(e) => setBrand(e.target.value)} + > + <option value=''>Pilih Brand...</option> + {brands.map((brand, index) => ( + <option value={brand.brand} key={index}> + {brand.brand} <span className='text-sm text-gray-200'>({brand.qty})</span> + </option> + ))} + </select> + </div> + )} + <div> <label>Kategori</label> <select @@ -118,8 +116,8 @@ const ProductFilter = ({ active, close, brands, categories, prefixUrl, defaultBr > <option value=''>Pilih Kategori...</option> {categories.map((category, index) => ( - <option value={category} key={index}> - {category} + <option value={category.name} key={index}> + {category.name} <span className='text-sm text-gray-200'>({category.qty})</span> </option> ))} </select> diff --git a/src/lib/product/components/ProductFilterDesktop.jsx b/src/lib/product/components/ProductFilterDesktop.jsx index cdfd85e8..582dabea 100644 --- a/src/lib/product/components/ProductFilterDesktop.jsx +++ b/src/lib/product/components/ProductFilterDesktop.jsx @@ -156,12 +156,15 @@ const ProductFilterDesktop = ({ brands, categories, prefixUrl, defaultBrand = nu {categories.map((category, index) => ( <div className='flex items-center gap-2' key={index}> <Checkbox - isChecked={categoryValues.includes(category)} + isChecked={categoryValues.includes(category.name)} onChange={handleCategoriesChange} - value={category} + value={category.name} size='md' > - {category} + <div className='flex items-center gap-2'> + <span>{category.name} </span> + <span className='text-sm text-gray-600'>({category.qty})</span> + </div> </Checkbox> </div> ))} diff --git a/src/lib/product/components/ProductSearch.jsx b/src/lib/product/components/ProductSearch.jsx index 3c954548..fd75d587 100644 --- a/src/lib/product/components/ProductSearch.jsx +++ b/src/lib/product/components/ProductSearch.jsx @@ -75,7 +75,9 @@ const ProductSearch = ({ query, prefixUrl, defaultBrand = null }) => { ) { const brand = productSearch.data?.facetCounts?.facetFields?.manufactureName[i] const qty = productSearch.data?.facetCounts?.facetFields?.manufactureName[i + 1] - brands.push({ brand, qty }) + if (qty > 0) { + brands.push({ brand, qty }) + } } /*const brandsList = productSearch.data?.facetCounts?.facetFields?.manufactureName?.filter( (value, index) => { @@ -87,13 +89,22 @@ const ProductSearch = ({ query, prefixUrl, defaultBrand = null }) => { } )*/ - const categories = productSearch.data?.facetCounts?.facetFields?.categoryName?.filter( + const categories = [] + for (let i = 0; i < productSearch.data?.facetCounts?.facetFields?.categoryName.length; i += 2) { + const name = productSearch.data?.facetCounts?.facetFields?.categoryName[i] + const qty = productSearch.data?.facetCounts?.facetFields?.categoryName[i + 1] + if (qty > 0) { + categories.push({ name, qty }) + } + } + + /*const categories = productSearch.data?.facetCounts?.facetFields?.categoryName?.filter( (value, index) => { if (index % 2 === 0) { return true } } - ) + )*/ const orderOptions = [ { value: 'price-asc', label: 'Harga Terendah' }, |
