From 0433d92034937c76135ceb83ef88402464006866 Mon Sep 17 00:00:00 2001
From: trisusilo48 <tri.susilo@altama.co.id>
Date: Mon, 22 Jul 2024 15:08:07 +0700
Subject: get new voucher

---
 src/lib/checkout/components/Checkout.jsx | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

(limited to 'src/lib/checkout/components/Checkout.jsx')

diff --git a/src/lib/checkout/components/Checkout.jsx b/src/lib/checkout/components/Checkout.jsx
index 92e14db6..61410bdf 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -30,7 +30,7 @@ import whatsappUrl from '@/core/utils/whatsappUrl';
 import addressesApi from '@/lib/address/api/addressesApi';
 import CartItem from '~/modules/cart/components/Item.tsx';
 import ExpedisiList from '../api/ExpedisiList';
-import { findVoucher, getVoucher } from '../api/getVoucher';
+import { findVoucher, getVoucher, getVoucherNew } from '../api/getVoucher';
 
 const SELF_PICKUP_ID = 32;
 
@@ -40,6 +40,7 @@ const { getProductsCheckout } = require('../api/checkoutApi');
 const Checkout = () => {
   const router = useRouter();
   const query = router.query.source ?? null;
+  const qVoucher = router.query.voucher ?? null;
   const auth = useAuth();
 
   const [activeVoucher, SetActiveVoucher] = useState(null);
@@ -119,7 +120,8 @@ const Checkout = () => {
   const voucher = async () => {
     if (!listVouchers) {
       try {
-        let dataVoucher = await getVoucher(auth?.id, query);
+        let source = 'source=' + query;
+        let dataVoucher = await getVoucherNew(source);
         SetListVoucher(dataVoucher);
       } finally {
         setLoadingVoucher(false);
@@ -127,14 +129,16 @@ const Checkout = () => {
     }
   };
   const VoucherCode = async (code) => {
-    let dataVoucher = await findVoucher(code, auth.id, query);
+    const source = 'code=' + code+'&source='+query;
+    // let dataVoucher = await findVoucher(code, auth.id, query);
+    let dataVoucher = await getVoucherNew(source);
     if (dataVoucher.length <= 0) {
       SetFindVoucher(1);
       return;
     }
 
     let addNewLine = dataVoucher[0];
-    let checkList = listVouchers.findIndex(
+    let checkList = listVouchers?.findIndex(
       (voucher) => voucher.code == addNewLine.code
     );
     if (checkList >= 0) {
@@ -166,6 +170,8 @@ const Checkout = () => {
   }, [bottomPopup]);
 
   useEffect(() => {
+    
+    // voucher()
     const loadExpedisi = async () => {
       let dataExpedisi = await ExpedisiList();
       dataExpedisi = dataExpedisi.map((expedisi) => ({
@@ -176,6 +182,10 @@ const Checkout = () => {
       setExpedisi(dataExpedisi);
     };
     loadExpedisi();
+    if(qVoucher === 'PASTIHEMAT'){
+      let code = qVoucher;
+      handleUseVoucher(code, !isChecked);
+    }
 
     const handlePopState = () => {
       router.push('/shop/cart');
@@ -186,7 +196,7 @@ const Checkout = () => {
     return () => {
       window.onpopstate = null;
     };
-    // voucher()
+   
   }, []);
 
   const hitungDiscountVoucher = (code) => {
@@ -407,13 +417,13 @@ const Checkout = () => {
       } else {
         SetActiveVoucher(code);
         SetFindVoucher(null);
-        document.getElementById('uniqCode').value = '';
+        document.getElementById('uniqCode') ? document.getElementById('uniqCode').value = '' : '';
         SetButtonTerapkan(false);
       }
     } else {
       SetActiveVoucher(code);
       SetFindVoucher(null);
-      document.getElementById('uniqCode').value = '';
+      document.getElementById('uniqCode') ? document.getElementById('uniqCode').value = '' : '';
       SetButtonTerapkan(false);
     }
   };
-- 
cgit v1.2.3


From 95081416190d09bbbe4f3d745e69ff81258bde7a Mon Sep 17 00:00:00 2001
From: trisusilo48 <tri.susilo@altama.co.id>
Date: Mon, 22 Jul 2024 15:38:48 +0700
Subject: add params voucher

---
 src/lib/checkout/components/Checkout.jsx | 40 +++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 16 deletions(-)

(limited to 'src/lib/checkout/components/Checkout.jsx')

diff --git a/src/lib/checkout/components/Checkout.jsx b/src/lib/checkout/components/Checkout.jsx
index 61410bdf..9bc0257e 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -129,7 +129,7 @@ const Checkout = () => {
     }
   };
   const VoucherCode = async (code) => {
-    const source = 'code=' + code+'&source='+query;
+    const source = 'code=' + code + '&source=' + query;
     // let dataVoucher = await findVoucher(code, auth.id, query);
     let dataVoucher = await getVoucherNew(source);
     if (dataVoucher.length <= 0) {
@@ -170,8 +170,7 @@ const Checkout = () => {
   }, [bottomPopup]);
 
   useEffect(() => {
-    
-    // voucher()
+    voucher();
     const loadExpedisi = async () => {
       let dataExpedisi = await ExpedisiList();
       dataExpedisi = dataExpedisi.map((expedisi) => ({
@@ -182,10 +181,6 @@ const Checkout = () => {
       setExpedisi(dataExpedisi);
     };
     loadExpedisi();
-    if(qVoucher === 'PASTIHEMAT'){
-      let code = qVoucher;
-      handleUseVoucher(code, !isChecked);
-    }
 
     const handlePopState = () => {
       router.push('/shop/cart');
@@ -196,7 +191,6 @@ const Checkout = () => {
     return () => {
       window.onpopstate = null;
     };
-   
   }, []);
 
   const hitungDiscountVoucher = (code) => {
@@ -231,14 +225,22 @@ const Checkout = () => {
     SetDiscountVoucher(countDiscount);
   }, [activeVoucher, listVouchers]);
 
+  useEffect(() => {
+    if (qVoucher === 'PASTIHEMAT' && listVouchers) {
+      let code = qVoucher;
+      VoucherCode(code);
+    }
+  }, [listVouchers]);
+
   useEffect(() => {
     setProducts(cartCheckout?.products);
     setCheckWeight(cartCheckout?.hasProductWithoutWeight);
     setTotalWeight(cartCheckout?.totalWeight.g);
-    const hasFlashSale = cartCheckout?.products.some(product => product.hasFlashsale);
+    const hasFlashSale = cartCheckout?.products.some(
+      (product) => product.hasFlashsale
+    );
     setHasFlashSale(hasFlashSale);
   }, [cartCheckout]);
-  
 
   useEffect(() => {
     setCheckoutValidation(false);
@@ -357,7 +359,7 @@ const Checkout = () => {
       carrier_id: selectedCarrierId,
       estimated_arrival_days: splitDuration(etd),
       delivery_service_type: selectedExpedisiService,
-      flash_sale : hasFlashSale, // dibuat negasi untuk ngetest kebalikan nilai false
+      flash_sale: hasFlashSale, // dibuat negasi untuk ngetest kebalikan nilai false
       voucher: activeVoucher,
       type: 'sale_order',
     };
@@ -373,7 +375,7 @@ const Checkout = () => {
       toast.error('Gagal melakukan transaksi, terjadi kesalahan internal');
       return;
     }
-    
+
     gtagPurchase(products, biayaKirim, isCheckouted.name);
 
     const midtrans = async () => {
@@ -417,13 +419,17 @@ const Checkout = () => {
       } else {
         SetActiveVoucher(code);
         SetFindVoucher(null);
-        document.getElementById('uniqCode') ? document.getElementById('uniqCode').value = '' : '';
+        document.getElementById('uniqCode')
+          ? (document.getElementById('uniqCode').value = '')
+          : '';
         SetButtonTerapkan(false);
       }
     } else {
       SetActiveVoucher(code);
       SetFindVoucher(null);
-      document.getElementById('uniqCode') ? document.getElementById('uniqCode').value = '' : '';
+      document.getElementById('uniqCode')
+        ? (document.getElementById('uniqCode').value = '')
+        : '';
       SetButtonTerapkan(false);
     }
   };
@@ -1599,9 +1605,11 @@ const PickupAddress = ({ label }) => (
         Kodepos : 14440
       </p>
       <p className='mt-1 text-gray_r-11'>Telp : 021-2933 8828/29</p>
-      <p className='mt-1 text-gray_r-11 hover:text-red-500'><a href={whatsappUrl()} target='_blank' rel='noreferrer'>
+      <p className='mt-1 text-gray_r-11 hover:text-red-500'>
+        <a href={whatsappUrl()} target='_blank' rel='noreferrer'>
           Mobile : 0817-1718-1922
-        </a></p>
+        </a>
+      </p>
     </div>
   </div>
 );
-- 
cgit v1.2.3

