summaryrefslogtreecommitdiff
path: root/src/lib/product/components/Product/Product.jsx
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-03-20 17:14:16 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-03-20 17:14:16 +0700
commitd178a520534af7d1cbcc03134034ad8a2327b461 (patch)
tree488606d5e19782d2c0942402ab7c6e7c8d16bc1c /src/lib/product/components/Product/Product.jsx
parent833488811b4164d7fbdce9bd70e171f06d62bf8d (diff)
product detail and cart header
Diffstat (limited to 'src/lib/product/components/Product/Product.jsx')
-rw-r--r--src/lib/product/components/Product/Product.jsx37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/lib/product/components/Product/Product.jsx b/src/lib/product/components/Product/Product.jsx
new file mode 100644
index 00000000..9521cbe4
--- /dev/null
+++ b/src/lib/product/components/Product/Product.jsx
@@ -0,0 +1,37 @@
+import { toast } from 'react-hot-toast'
+import useWishlist from '@/lib/wishlist/hooks/useWishlist'
+import createOrDeleteWishlistApi from '@/lib/wishlist/api/createOrDeleteWishlistApi'
+import ProductDesktop from './ProductDesktop'
+import useAuth from '@/core/hooks/useAuth'
+import ProductMobile from './ProductMobile'
+import { useRouter } from 'next/router'
+
+const Product = ({ product }) => {
+ const auth = useAuth()
+ const router = useRouter()
+ const { wishlist } = useWishlist({ productId: product?.id })
+
+ const toggleWishlist = async () => {
+ if (!auth) {
+ router.push('/login')
+ return
+ }
+ const data = { product_id: product.id }
+ await createOrDeleteWishlistApi({ data })
+ if (wishlist?.data?.productTotal > 0) {
+ toast.success('Berhasil menghapus dari wishlist')
+ } else {
+ toast.success('Berhasil menambahkan ke wishlist')
+ }
+ wishlist.refetch()
+ }
+
+ return (
+ <>
+ <ProductMobile product={product} wishlist={wishlist} toggleWishlist={toggleWishlist} />
+ <ProductDesktop product={product} wishlist={wishlist} toggleWishlist={toggleWishlist} />
+ </>
+ )
+}
+
+export default Product