From 9e1321f7e35a58ba8ce136401a217d835aef15f0 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 23 Nov 2022 17:01:47 +0700 Subject: Search Order by nextjs indoteknik --- src/components/Filter.js | 24 ++++++++++++++++++++++-- src/pages/api/shop/search.js | 18 ++++++++++++++++-- src/pages/shop/search.js | 19 ++++++++++++++++--- 3 files changed, 54 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/components/Filter.js b/src/components/Filter.js index fd9387d7..385c585d 100644 --- a/src/components/Filter.js +++ b/src/components/Filter.js @@ -10,12 +10,14 @@ const Filter = ({ defaultPriceTo, defaultCategory, defaultBrand, + defaultOrderBy, searchResults }) => { const router = useRouter(); const [priceFrom, setPriceFrom] = useState(defaultPriceFrom); const [priceTo, setPriceTo] = useState(defaultPriceTo); + const [orderBy, setOrderBy] = useState(defaultOrderBy); const [selectedCategory, setSelectedCategory] = useState(defaultCategory); const [selectedBrand, setSelectedBrand] = useState(defaultBrand); const [categories, setCategories] = useState([]); @@ -27,6 +29,7 @@ const Filter = ({ if (selectedCategory) filterRoute += `&category=${selectedCategory}`; if (priceFrom > 0) filterRoute += `&price_from=${priceFrom}`; if (priceTo > 0) filterRoute += `&price_to=${priceTo}`; + if (orderBy) filterRoute += `&order_by=${orderBy}`; return filterRoute; } @@ -59,10 +62,19 @@ const Filter = ({ setSelectedCategory(''); setPriceFrom(0); setPriceTo(0); + setOrderBy(''); + } + + const changeOrderBy = (value) => { + if (orderBy == value) { + setOrderBy(''); + } else { + setOrderBy(value); + } } return ( -
+

Filter Produk

+
+ +
+ + + +
+