From 5754fd0a95bc72f0e97e6af2d246f4d14a45bf9f Mon Sep 17 00:00:00 2001
From: "Indoteknik ." <andrifebriyadiputra@gmail.com>
Date: Mon, 16 Jun 2025 11:14:28 +0700
Subject: (andri) fix self pick up checkout

---
 src/lib/checkout/components/Checkout.jsx | 34 ++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 10 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 668c7ac0..aad3d66d 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -374,13 +374,17 @@ const Checkout = () => {
       }
       return;
     }
-    if (!selectedService) {
-      toast.error('Harap pilih tipe layanan pengiriman');
-      return;
-    }
-    if (selectedCourier != 1 && biayaKirim == 0) {
-      toast.error('Maaf, layanan tidak tersedia. Mohon pilih expedisi lain.');
-      return;
+    if (selectedCourierId !== SELF_PICKUP_ID) { // Menggunakan selectedCourierId karena lebih spesifik dan numerik
+        if (!selectedService) { // Jika kurir bukan Self Pickup, maka harus ada layanan yang dipilih
+            toast.error('Harap pilih tipe layanan pengiriman');
+            return;
+        }
+        // Validasi biaya kirim hanya untuk kurir selain Self Pickup (dan ID kurir 1 jika itu kasus khusus)
+        // Jika selectedCourierId adalah 1 (misalnya kurir internal yang bisa gratis), lewati validasi biayaKirim 0
+        if (selectedCourierId !== 1 && biayaKirim === 0) {
+            toast.error('Maaf, layanan tidak tersedia untuk ekspedisi ini. Mohon pilih ekspedisi lain atau layanan lain.');
+            return;
+        }
     }
     setIsLoading(true);
     const productOrder = products.map((product) => ({
@@ -388,9 +392,19 @@ const Checkout = () => {
       quantity: product.quantity,
       available_quantity: product?.availableQuantity,
     }));
-    let estimated_courier = etd.split('-').map(Number);
-    let eta_courier = Math.max(...estimated_courier);
-    let eta_courier_start = Math.min(...estimated_courier);
+
+    let eta_courier = 0;
+    let eta_courier_start = 0;
+
+    if (selectedCourierId !== SELF_PICKUP_ID && etd) {
+      const estimated_courier = etd.split('-').map(Number);
+      eta_courier = Math.max(...estimated_courier);
+      eta_courier_start = Math.min(...estimated_courier);
+    }
+
+    // let estimated_courier = etd.split('-').map(Number);
+    // let eta_courier = Math.max(...estimated_courier);
+    // let eta_courier_start = Math.min(...estimated_courier);
 
     let data = {
       // partner_shipping_id: auth.partnerId,,
-- 
cgit v1.2.3

