From 4339c49be8f30dbb47b6882e61e909837dc91e81 Mon Sep 17 00:00:00 2001
From: it-fixcomart <it@fixcomart.co.id>
Date: Wed, 31 Jul 2024 15:39:21 +0700
Subject: <iman> update auto reload add cart

---
 src-migrate/modules/product-detail/components/AddToCart.tsx | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'src-migrate/modules/product-detail/components/AddToCart.tsx')

diff --git a/src-migrate/modules/product-detail/components/AddToCart.tsx b/src-migrate/modules/product-detail/components/AddToCart.tsx
index 097db98a..c4df555b 100644
--- a/src-migrate/modules/product-detail/components/AddToCart.tsx
+++ b/src-migrate/modules/product-detail/components/AddToCart.tsx
@@ -51,6 +51,9 @@ const AddToCart = ({
         error: { title: 'Menambahkan ke keranjang', description: 'Gagal menambahkan ke keranjang belanja' },
       }
     )
+    setTimeout(() => {
+      window.location.reload();
+    }, 1500);
 
     if (source === 'buy') {
       router.push('/shop/checkout?source=buy')
-- 
cgit v1.2.3


From 0abd42f8b528b3166169fef7093d4d8b22f3fb79 Mon Sep 17 00:00:00 2001
From: it-fixcomart <it@fixcomart.co.id>
Date: Thu, 1 Aug 2024 08:48:48 +0700
Subject: <iman> add pop up when hit keranjang button

---
 .../product-detail/components/AddToCart.tsx        | 83 +++++++++++++++++++---
 1 file changed, 73 insertions(+), 10 deletions(-)

(limited to 'src-migrate/modules/product-detail/components/AddToCart.tsx')

diff --git a/src-migrate/modules/product-detail/components/AddToCart.tsx b/src-migrate/modules/product-detail/components/AddToCart.tsx
index c4df555b..b2fed55d 100644
--- a/src-migrate/modules/product-detail/components/AddToCart.tsx
+++ b/src-migrate/modules/product-detail/components/AddToCart.tsx
@@ -1,19 +1,28 @@
-import { Button, useToast } from '@chakra-ui/react'
+import BottomPopup from '@/core/components/elements/Popup/BottomPopup'
+import { Button, Link, useToast } from '@chakra-ui/react'
+import product from 'next-seo/lib/jsonld/product'
 import { useRouter } from 'next/router'
-
+import { useState } from 'react'
+import Image from '~/components/ui/image'
 import { getAuth } from '~/libs/auth'
 import { upsertUserCart } from '~/services/cart'
+import LazyLoad from 'react-lazy-load';
+import ProductSimilar from '../../../../src/lib/product/components/ProductSimilar';
+import { IProductDetail } from '~/types/product';
+import ImageNext from 'next/image';
 
 type Props = {
   variantId: number | null,
   quantity?: number;
   source?: 'buy' | 'add_to_cart';
+  products : IProductDetail
 }
 
 const AddToCart = ({
   variantId,
   quantity = 1,
-  source = 'add_to_cart'
+  source = 'add_to_cart',
+  products
 }: Props) => {
   const auth = getAuth()
   const router = useRouter()
@@ -21,6 +30,15 @@ const AddToCart = ({
     position: 'top',
     isClosable: true
   })
+  const [product, setProducts] = useState(products);
+  
+  const productSimilarQuery = [
+    product?.name,
+    `fq=-product_id_i:${product.id}`,
+    `fq=-manufacture_id_i:${product.manufacture?.id || 0}`,
+  ].join('&');
+
+  const [addCartAlert, setAddCartAlert] = useState(false);
 
   const handleClick = async () => {
     if (typeof auth !== 'object') {
@@ -34,6 +52,7 @@ const AddToCart = ({
       isNaN(quantity) ||
       typeof auth !== 'object'
     ) return;
+    setAddCartAlert(true);
 
     toast.promise(
       upsertUserCart({
@@ -51,9 +70,8 @@ const AddToCart = ({
         error: { title: 'Menambahkan ke keranjang', description: 'Gagal menambahkan ke keranjang belanja' },
       }
     )
-    setTimeout(() => {
-      window.location.reload();
-    }, 1500);
+    
+    
 
     if (source === 'buy') {
       router.push('/shop/checkout?source=buy')
@@ -72,10 +90,55 @@ const AddToCart = ({
   }
 
   return (
-    <Button onClick={handleClick} colorScheme={btnConfig[source].colorScheme} className='w-full'>
-      {btnConfig[source].text}
-    </Button>
+    <div className='w-full'>
+      <Button onClick={handleClick} colorScheme={btnConfig[source].colorScheme} className='w-full'>
+        {btnConfig[source].text}
+      </Button>
+      <BottomPopup
+          className='!container'
+          title='Berhasil Ditambahkan'
+          active={addCartAlert}
+          close={() => {
+            setAddCartAlert(false);
+            setTimeout(() => {
+              window.location.reload();
+            }, 1500);
+          }}
+        >
+          <div className='flex mt-4'>
+            <div className='w-[10%]'>
+              <ImageNext
+                  src={product.image}
+                  alt={product.name}
+                  className='h-32 object-contain object-center w-full border border-gray_r-4'
+                  width={80}
+                  height={80}
+                />
+            </div>
+            <div className='ml-3 flex flex-1 items-center font-normal'>
+              {product.name}
+            </div>
+            <div className='ml-3 flex items-center font-normal'>
+              <Link
+                href='/shop/cart'
+                className='flex-1 py-2 text-gray_r-12 btn-yellow'
+              >
+                Lihat Keranjang
+              </Link>
+            </div>
+          </div>
+
+          <div className='mt-8 mb-4'>
+            <div className='text-h-sm font-semibold mb-6'>
+              Kamu Mungkin Juga Suka
+            </div>
+            <LazyLoad>
+              <ProductSimilar query={productSimilarQuery} />
+            </LazyLoad>
+          </div>
+        </BottomPopup>
+    </div>
   )
 }
 
-export default AddToCart
\ No newline at end of file
+export default AddToCart	
\ No newline at end of file
-- 
cgit v1.2.3


From 285e91d4b63ca8dbd0a9f55e9c7db8b833749c0a Mon Sep 17 00:00:00 2001
From: it-fixcomart <it@fixcomart.co.id>
Date: Thu, 1 Aug 2024 13:28:41 +0700
Subject: <iman> update popup cart

---
 .../modules/product-detail/components/AddToCart.tsx      | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

(limited to 'src-migrate/modules/product-detail/components/AddToCart.tsx')

diff --git a/src-migrate/modules/product-detail/components/AddToCart.tsx b/src-migrate/modules/product-detail/components/AddToCart.tsx
index b2fed55d..42586032 100644
--- a/src-migrate/modules/product-detail/components/AddToCart.tsx
+++ b/src-migrate/modules/product-detail/components/AddToCart.tsx
@@ -10,6 +10,7 @@ import LazyLoad from 'react-lazy-load';
 import ProductSimilar from '../../../../src/lib/product/components/ProductSimilar';
 import { IProductDetail } from '~/types/product';
 import ImageNext from 'next/image';
+import { useProductCartContext } from '@/contexts/ProductCartContext'
 
 type Props = {
   variantId: number | null,
@@ -31,7 +32,9 @@ const AddToCart = ({
     isClosable: true
   })
   const [product, setProducts] = useState(products);
-  
+  const { productCart, setRefreshCart, setProductCart, refreshCart, isLoading, setIsloading } =
+    useProductCartContext()
+
   const productSimilarQuery = [
     product?.name,
     `fq=-product_id_i:${product.id}`,
@@ -53,7 +56,7 @@ const AddToCart = ({
       typeof auth !== 'object'
     ) return;
     setAddCartAlert(true);
-
+    setRefreshCart(true)
     toast.promise(
       upsertUserCart({
         userId: auth.id,
@@ -100,10 +103,11 @@ const AddToCart = ({
           active={addCartAlert}
           close={() => {
             setAddCartAlert(false);
-            setTimeout(() => {
-              window.location.reload();
-            }, 1500);
-          }}
+            // setTimeout(() => {
+            //   window.location.reload();
+            // }, 1500);
+          }
+        }
         >
           <div className='flex mt-4'>
             <div className='w-[10%]'>
-- 
cgit v1.2.3


From 42829a0907590139ecf4328a7a9ff9f6504a9113 Mon Sep 17 00:00:00 2001
From: it-fixcomart <it@fixcomart.co.id>
Date: Thu, 1 Aug 2024 13:40:57 +0700
Subject: <iman> update pop up cart

---
 src-migrate/modules/product-detail/components/AddToCart.tsx | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

(limited to 'src-migrate/modules/product-detail/components/AddToCart.tsx')

diff --git a/src-migrate/modules/product-detail/components/AddToCart.tsx b/src-migrate/modules/product-detail/components/AddToCart.tsx
index 42586032..644d5b90 100644
--- a/src-migrate/modules/product-detail/components/AddToCart.tsx
+++ b/src-migrate/modules/product-detail/components/AddToCart.tsx
@@ -56,7 +56,7 @@ const AddToCart = ({
       typeof auth !== 'object'
     ) return;
     setAddCartAlert(true);
-    setRefreshCart(true)
+    setRefreshCart(true);
     toast.promise(
       upsertUserCart({
         userId: auth.id,
@@ -103,9 +103,6 @@ const AddToCart = ({
           active={addCartAlert}
           close={() => {
             setAddCartAlert(false);
-            // setTimeout(() => {
-            //   window.location.reload();
-            // }, 1500);
           }
         }
         >
-- 
cgit v1.2.3


From 3542d65853072df17355f47a6abc3622375807ab Mon Sep 17 00:00:00 2001
From: it-fixcomart <it@fixcomart.co.id>
Date: Thu, 1 Aug 2024 17:10:17 +0700
Subject: <iman> update setRefresh cart

---
 src-migrate/modules/product-detail/components/AddToCart.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src-migrate/modules/product-detail/components/AddToCart.tsx')

diff --git a/src-migrate/modules/product-detail/components/AddToCart.tsx b/src-migrate/modules/product-detail/components/AddToCart.tsx
index 644d5b90..0ac8229e 100644
--- a/src-migrate/modules/product-detail/components/AddToCart.tsx
+++ b/src-migrate/modules/product-detail/components/AddToCart.tsx
@@ -55,8 +55,8 @@ const AddToCart = ({
       isNaN(quantity) ||
       typeof auth !== 'object'
     ) return;
-    setAddCartAlert(true);
     setRefreshCart(true);
+    setAddCartAlert(true);
     toast.promise(
       upsertUserCart({
         userId: auth.id,
-- 
cgit v1.2.3

