From c6c409c7fbff247c9aeb8df55a4d76dd4f682560 Mon Sep 17 00:00:00 2001
From: trisusilo48 <tri.susilo@altama.co.id>
Date: Mon, 21 Apr 2025 13:14:52 +0700
Subject: bugs fix expedisi tidak muncul

---
 src/lib/checkout/components/Checkout.jsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(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 a8b31ece..c9bff3c1 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -1710,7 +1710,7 @@ const SectionAddress = ({ address, label, url }) => (
 );
 
 const SectionValidation = ({ address }) =>
-  address?.stateId == 0 && (
+  address?.stateId == 0 || address?.rajaongkirCityId == 0 && (
     <BottomPopup active={true} title='Update Alamat'>
       <div className='leading-7 text-gray_r-12/80'>
         Mohon untuk memperbarui alamat Anda dengan mengklik tombol di bawah ini.{' '}
-- 
cgit v1.2.3


From 5c8a5df24a9758f3b3a6366d326f61c2c6a13c42 Mon Sep 17 00:00:00 2001
From: trisusilo48 <tri.susilo@altama.co.id>
Date: Tue, 6 May 2025 14:43:58 +0700
Subject: bugfix addres validation on checkout

---
 src/lib/checkout/components/Checkout.jsx | 6 +++---
 1 file changed, 3 insertions(+), 3 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 c9bff3c1..1ad2782d 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -1127,7 +1127,7 @@ const Checkout = () => {
           </Skeleton>
         )}
         <Divider />
-        <SectionValidation address={selectedAddress.invoicing} />
+        <SectionValidation address={selectedAddress.shipping} />
         <SectionExpedisi
           address={selectedAddress.shipping}
           listExpedisi={listExpedisi}
@@ -1425,7 +1425,7 @@ const Checkout = () => {
                 </Skeleton>
               )}
               <Divider />
-              <SectionValidation address={selectedAddress.invoicing} />
+              <SectionValidation address={selectedAddress.shipping} />
               <SectionExpedisi
                 address={selectedAddress.shipping}
                 listExpedisi={listExpedisi}
@@ -1710,7 +1710,7 @@ const SectionAddress = ({ address, label, url }) => (
 );
 
 const SectionValidation = ({ address }) =>
-  address?.stateId == 0 || address?.rajaongkirCityId == 0 && (
+  (address?.stateId === 0 || address?.rajaongkirCityId === 0) && (
     <BottomPopup active={true} title='Update Alamat'>
       <div className='leading-7 text-gray_r-12/80'>
         Mohon untuk memperbarui alamat Anda dengan mengklik tombol di bawah ini.{' '}
-- 
cgit v1.2.3


From 166191e8f7335810cd0073b9aa2436a908a21d34 Mon Sep 17 00:00:00 2001
From: Miqdad <ahmadmiqdad27@gmail.com>
Date: Wed, 7 May 2025 09:20:55 +0700
Subject: voucher category

---
 src/lib/checkout/components/Checkout.jsx | 67 ++++++++++++++++++++++++++------
 1 file changed, 56 insertions(+), 11 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 c9bff3c1..9ccebe72 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -39,18 +39,20 @@ const { getProductsCheckout } = require('../api/checkoutApi');
 
 function convertToInternational(number) {
   if (typeof number !== 'string') {
-      throw new Error("Input harus berupa string");
+    throw new Error('Input harus berupa string');
   }
 
   if (number.startsWith('08')) {
-      return '+62' + number.slice(2);
+    return '+62' + number.slice(2);
   }
 
   return number;
 }
 
 const Checkout = () => {
-  const PPN = process.env.NEXT_PUBLIC_PPN ? parseFloat(process.env.NEXT_PUBLIC_PPN) : 0;
+  const PPN = process.env.NEXT_PUBLIC_PPN
+    ? parseFloat(process.env.NEXT_PUBLIC_PPN)
+    : 0;
   const router = useRouter();
   const query = router.query.source ?? null;
   const qVoucher = router.query.voucher ?? null;
@@ -145,16 +147,37 @@ const Checkout = () => {
     if (!listVouchers) {
       try {
         setLoadingVoucher(true);
+        const productCategories = products
+          ?.reduce((categories, product) => {
+            console.log('Processing product:', product.name);
+            console.log('Product categories:', product.categories);
+
+            if (product.categories && Array.isArray(product.categories)) {
+              product.categories.forEach((category) => {
+                if (category.id && !categories.includes(category.id)) {
+                  categories.push(category.id);
+                }
+              });
+            }
+            return categories;
+          }, [])
+          .join(',');
+
+        console.log('Final categories string:', productCategories);
+
         let dataVoucher = await getVoucher(auth?.id, {
           source: query,
           type: 'all,brand',
-          partner_id : auth?.partnerId,
+          partner_id: auth?.partnerId,
+          voucher_category: productCategories, // Add the product categories
         });
+        console.log('All vouchers received:', dataVoucher);
         SetListVoucher(dataVoucher);
 
         let dataVoucherShipping = await getVoucher(auth?.id, {
           source: query,
           type: 'shipping',
+          voucher_category: productCategories, // Add the product categories
         });
         SetListVoucherShipping(dataVoucherShipping);
       } finally {
@@ -164,10 +187,25 @@ const Checkout = () => {
   };
 
   const VoucherCode = async (code) => {
-    // let dataVoucher = await findVoucher(code, auth.id, query);
+    const productCategories = products
+      ?.reduce((categories, product) => {
+        if (product.categories && Array.isArray(product.categories)) {
+          product.categories.forEach((category) => {
+            if (category.id && !categories.includes(category.id)) {
+              categories.push(category.id);
+            }
+          });
+        }
+        return categories;
+      }, [])
+      .join(',');
+
+    console.log('Voucher code search with categories:', productCategories);
+
     let dataVoucher = await getVoucher(auth?.id, {
       source: query,
       code: code,
+      voucher_category: productCategories, // Add the product categories
     });
     if (dataVoucher.length <= 0) {
       SetFindVoucher(1);
@@ -517,10 +555,12 @@ const Checkout = () => {
 
       gtag('set', 'user_data', {
         email: auth.email,
-        phone_number: convertToInternational(auth.mobile) ?? convertToInternational(auth.phone),
+        phone_number:
+          convertToInternational(auth.mobile) ??
+          convertToInternational(auth.phone),
       });
 
-      gtag('config', 'AW-954540379', { ' allow_enhanced_conversions':true } ) ;
+      gtag('config', 'AW-954540379', { ' allow_enhanced_conversions': true });
 
       for (const product of products) deleteItemCart({ productId: product.id });
       if (grandTotal > 0) {
@@ -1223,7 +1263,9 @@ const Checkout = () => {
                 <div>{currencyFormat(cartCheckout?.subtotal)}</div>
               </div>
               <div className='flex gap-x-2 justify-between'>
-                <div className='text-gray_r-11'>PPN {((PPN - 1) * 100).toFixed(0)}%</div>
+                <div className='text-gray_r-11'>
+                  PPN {((PPN - 1) * 100).toFixed(0)}%
+                </div>
                 <div>{currencyFormat(cartCheckout?.tax)}</div>
               </div>
               <div className='flex gap-x-2 justify-between'>
@@ -1527,7 +1569,9 @@ const Checkout = () => {
                       <div>{currencyFormat(cartCheckout?.subtotal)}</div>
                     </div>
                     <div className='flex gap-x-2 justify-between'>
-                      <div className='text-gray_r-11'>PPN {((PPN - 1) * 100).toFixed(0)}%</div>
+                      <div className='text-gray_r-11'>
+                        PPN {((PPN - 1) * 100).toFixed(0)}%
+                      </div>
                       <div>{currencyFormat(cartCheckout?.tax)}</div>
                     </div>
                     <div className='flex gap-x-2 justify-between'>
@@ -1710,7 +1754,8 @@ const SectionAddress = ({ address, label, url }) => (
 );
 
 const SectionValidation = ({ address }) =>
-  address?.stateId == 0 || address?.rajaongkirCityId == 0 && (
+  address?.stateId == 0 ||
+  (address?.rajaongkirCityId == 0 && (
     <BottomPopup active={true} title='Update Alamat'>
       <div className='leading-7 text-gray_r-12/80'>
         Mohon untuk memperbarui alamat Anda dengan mengklik tombol di bawah ini.{' '}
@@ -1724,7 +1769,7 @@ const SectionValidation = ({ address }) =>
         </Link>
       </div>
     </BottomPopup>
-  );
+  ));
 
 const SectionExpedisi = ({
   address,
-- 
cgit v1.2.3


From a9a92c02e24bf77b9e490be51d7002cc2ef41bf1 Mon Sep 17 00:00:00 2001
From: Miqdad <ahmadmiqdad27@gmail.com>
Date: Thu, 8 May 2025 17:31:04 +0700
Subject: Remove log

---
 src/lib/checkout/components/Checkout.jsx | 8 --------
 1 file changed, 8 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 be490d32..5256a328 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -149,9 +149,6 @@ const Checkout = () => {
         setLoadingVoucher(true);
         const productCategories = products
           ?.reduce((categories, product) => {
-            console.log('Processing product:', product.name);
-            console.log('Product categories:', product.categories);
-
             if (product.categories && Array.isArray(product.categories)) {
               product.categories.forEach((category) => {
                 if (category.id && !categories.includes(category.id)) {
@@ -163,15 +160,12 @@ const Checkout = () => {
           }, [])
           .join(',');
 
-        console.log('Final categories string:', productCategories);
-
         let dataVoucher = await getVoucher(auth?.id, {
           source: query,
           type: 'all,brand',
           partner_id: auth?.partnerId,
           voucher_category: productCategories, // Add the product categories
         });
-        console.log('All vouchers received:', dataVoucher);
         SetListVoucher(dataVoucher);
 
         let dataVoucherShipping = await getVoucher(auth?.id, {
@@ -200,8 +194,6 @@ const Checkout = () => {
       }, [])
       .join(',');
 
-    console.log('Voucher code search with categories:', productCategories);
-
     let dataVoucher = await getVoucher(auth?.id, {
       source: query,
       code: code,
-- 
cgit v1.2.3

