summaryrefslogtreecommitdiff
path: root/src/lib/promo
diff options
context:
space:
mode:
authortrisusilo48 <tri.susilo@altama.co.id>2024-09-09 10:01:12 +0700
committertrisusilo48 <tri.susilo@altama.co.id>2024-09-09 10:01:12 +0700
commitafd84f86d2f26a3e0347dab7552060717030df19 (patch)
treed63d095e16a6dd052fb7d6858e78c1aac1115794 /src/lib/promo
parentf8133c76306d9f70e01ac510c74dcfabe7f79b37 (diff)
parent495b327ba0a45b17f4f0156f846ebe8bddbcd075 (diff)
Merge branch 'release' into CR/product_detail
# Conflicts: # src-migrate/modules/product-detail/components/ProductDetail.tsx
Diffstat (limited to 'src/lib/promo')
-rw-r--r--src/lib/promo/api/productSearchApi.js11
-rw-r--r--src/lib/promo/hooks/usePromotionSearch.js15
2 files changed, 26 insertions, 0 deletions
diff --git a/src/lib/promo/api/productSearchApi.js b/src/lib/promo/api/productSearchApi.js
new file mode 100644
index 00000000..2f792fd4
--- /dev/null
+++ b/src/lib/promo/api/productSearchApi.js
@@ -0,0 +1,11 @@
+import _ from 'lodash-contrib'
+import axios from 'axios'
+
+const productSearchApi = async ({ query, operation = 'AND' }) => {
+ const dataProductSearch = await axios(
+ `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/promo?${query}&operation=${operation}`
+ )
+ return dataProductSearch.data
+}
+
+export default productSearchApi
diff --git a/src/lib/promo/hooks/usePromotionSearch.js b/src/lib/promo/hooks/usePromotionSearch.js
new file mode 100644
index 00000000..1a194646
--- /dev/null
+++ b/src/lib/promo/hooks/usePromotionSearch.js
@@ -0,0 +1,15 @@
+import { useQuery } from 'react-query'
+import productSearchApi from '../api/productSearchApi'
+import _ from 'lodash-contrib'
+
+const usePromotionSearch = ({ query, operation }) => {
+ const queryString = _.toQuery(query)
+ const fetchProductSearch = async () => await productSearchApi({ query: queryString , operation : operation})
+ const productSearch = useQuery(`promoSearch-${queryString}`, fetchProductSearch)
+
+ return {
+ productSearch
+ }
+}
+
+export default usePromotionSearch