From 8cfb615556e67408d7afb6d9694b2407447085ff Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 22 Feb 2023 23:34:50 +0700 Subject: fix --- src/lib/wishlist/api/createOrDeleteWishlistApi.js | 10 ++++++++++ src/lib/wishlist/api/wishlistApi.js | 14 ++++++++++++++ src/lib/wishlist/hooks/useWishlist.js | 13 +++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 src/lib/wishlist/api/createOrDeleteWishlistApi.js create mode 100644 src/lib/wishlist/api/wishlistApi.js create mode 100644 src/lib/wishlist/hooks/useWishlist.js (limited to 'src/lib/wishlist') diff --git a/src/lib/wishlist/api/createOrDeleteWishlistApi.js b/src/lib/wishlist/api/createOrDeleteWishlistApi.js new file mode 100644 index 00000000..63cb1c51 --- /dev/null +++ b/src/lib/wishlist/api/createOrDeleteWishlistApi.js @@ -0,0 +1,10 @@ +import odooApi from "@/core/api/odooApi"; +import { getAuth } from "@/core/utils/auth"; + +const createOrDeleteWishlistApi = async ({ data }) => { + const auth = getAuth() + const dataWishlist = await odooApi('POST', `/api/v1/user/${auth.id}/wishlist/create-or-delete`, data) + return dataWishlist +} + +export default createOrDeleteWishlistApi \ No newline at end of file diff --git a/src/lib/wishlist/api/wishlistApi.js b/src/lib/wishlist/api/wishlistApi.js new file mode 100644 index 00000000..a8906dd4 --- /dev/null +++ b/src/lib/wishlist/api/wishlistApi.js @@ -0,0 +1,14 @@ +import odooApi from '@/core/api/odooApi' +import { getAuth } from '@/core/utils/auth' + +const wishlistApi = async ({ productId }) => { + const auth = getAuth() + if (!auth) return { productTotal: 0, products: [] } + const dataWishlist = await odooApi( + 'GET', + `/api/v1/user/${auth.id}/wishlist?product_id=${productId}` + ) + return dataWishlist +} + +export default wishlistApi diff --git a/src/lib/wishlist/hooks/useWishlist.js b/src/lib/wishlist/hooks/useWishlist.js new file mode 100644 index 00000000..1eb17d53 --- /dev/null +++ b/src/lib/wishlist/hooks/useWishlist.js @@ -0,0 +1,13 @@ +import { useQuery } from "react-query" +import wishlistApi from "../api/wishlistApi" + +const useWishlist = ({ productId }) => { + const fetchWishlist = async () => await wishlistApi({ productId }) + const { data, isLoading, refetch } = useQuery(`wishlist-${productId}`, fetchWishlist) + + return { + wishlist: { data, isLoading, refetch } + } +} + +export default useWishlist -- cgit v1.2.3 From ac3fdf7be9982e65d8f83a20bc487f8dd62e3bfc Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 22 Feb 2023 23:36:47 +0700 Subject: fix --- src/lib/wishlist/api/createOrDeleteWishlistApi.js | 12 ++++++++---- src/lib/wishlist/components/Wishlists.jsx | 16 +++++++++++++--- src/lib/wishlist/hooks/useWishlist.js | 4 ++-- 3 files changed, 23 insertions(+), 9 deletions(-) (limited to 'src/lib/wishlist') diff --git a/src/lib/wishlist/api/createOrDeleteWishlistApi.js b/src/lib/wishlist/api/createOrDeleteWishlistApi.js index 63cb1c51..617d139d 100644 --- a/src/lib/wishlist/api/createOrDeleteWishlistApi.js +++ b/src/lib/wishlist/api/createOrDeleteWishlistApi.js @@ -1,10 +1,14 @@ -import odooApi from "@/core/api/odooApi"; -import { getAuth } from "@/core/utils/auth"; +import odooApi from '@/core/api/odooApi' +import { getAuth } from '@/core/utils/auth' const createOrDeleteWishlistApi = async ({ data }) => { const auth = getAuth() - const dataWishlist = await odooApi('POST', `/api/v1/user/${auth.id}/wishlist/create-or-delete`, data) + const dataWishlist = await odooApi( + 'POST', + `/api/v1/user/${auth.id}/wishlist/create-or-delete`, + data + ) return dataWishlist } -export default createOrDeleteWishlistApi \ No newline at end of file +export default createOrDeleteWishlistApi diff --git a/src/lib/wishlist/components/Wishlists.jsx b/src/lib/wishlist/components/Wishlists.jsx index 71ac095e..e61efcc3 100644 --- a/src/lib/wishlist/components/Wishlists.jsx +++ b/src/lib/wishlist/components/Wishlists.jsx @@ -24,19 +24,29 @@ const Wishlists = () => { return (
{wishlists.data?.products?.length == 0 && ( - + Wishlist anda masih kosong )}
{wishlists.data?.products.map((product) => ( - + ))}
- +
) diff --git a/src/lib/wishlist/hooks/useWishlist.js b/src/lib/wishlist/hooks/useWishlist.js index 1eb17d53..8580a19d 100644 --- a/src/lib/wishlist/hooks/useWishlist.js +++ b/src/lib/wishlist/hooks/useWishlist.js @@ -1,5 +1,5 @@ -import { useQuery } from "react-query" -import wishlistApi from "../api/wishlistApi" +import { useQuery } from 'react-query' +import wishlistApi from '../api/wishlistApi' const useWishlist = ({ productId }) => { const fetchWishlist = async () => await wishlistApi({ productId }) -- cgit v1.2.3