From dc5e9f0f6a1b3fd2211f6daf87c055abe47f0023 Mon Sep 17 00:00:00 2001
From: "HATEC\\SPVDEV001" <tri.susilo@altama.co.id>
Date: Tue, 25 Jul 2023 16:40:59 +0700
Subject: default activevariant

---
 .../product/components/Product/ProductMobile.jsx   | 51 ++++++++++++++--------
 1 file changed, 32 insertions(+), 19 deletions(-)

(limited to 'src/lib/product/components/Product/ProductMobile.jsx')

diff --git a/src/lib/product/components/Product/ProductMobile.jsx b/src/lib/product/components/Product/ProductMobile.jsx
index 46a6af75..3f13f980 100644
--- a/src/lib/product/components/Product/ProductMobile.jsx
+++ b/src/lib/product/components/Product/ProductMobile.jsx
@@ -56,6 +56,35 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => {
       (variant.attributes.length > 0 ? variant.attributes.join(', ') : product.name)
   }))
 
+  useEffect(() => {
+    const fetchData = async () => {
+      const promises = product.variants.map(async (variant) => {
+        const dataSLA = await odooApi('GET', `/api/v1/product_variant/${variant.id}/stock`)
+        return {
+          ...variant,
+          sla: dataSLA
+        }
+      })
+      const variantData = await Promise.all(promises)
+      product.variants = variantData
+
+      setIsLoadingSLA(false)
+      if(product.variants.length === 1){
+        setActiveVariant({
+          id: product.variants[0].id,
+          code: product.variants[0].code,
+          name: product.variants[0].parent.name ,
+          price: product.variants[0].price,
+          stock: product.variants[0].stock,
+          weight: product.variants[0].weight,
+          sla: product.variants[0].sla,
+          hasProgram: product.variants[0].hasProgram
+        })
+      }
+    }
+    fetchData()
+  }, [product])
+
   useEffect(() => {
     if (!selectedVariant && variantOptions.length == 1) {
       setSelectedVariant(variantOptions[0])
@@ -79,6 +108,7 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => {
         hasProgram: variant.hasProgram
       })
     }
+    console.log('ini adalah active', activeVariant)
   }, [selectedVariant, product])
 
   const validAction = () => {
@@ -111,23 +141,6 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => {
     router.push(`/shop/checkout?productId=${activeVariant.id}&quantity=${quantity}`)
   }
 
-  useEffect(() => {
-    const fetchData = async () => {
-      const promises = product.variants.map(async (variant) => {
-        const dataSLA = await odooApi('GET', `/api/v1/product_variant/${variant.id}/stock`)
-        return {
-          ...variant,
-          sla: dataSLA
-        }
-      })
-      const variantData = await Promise.all(promises)
-      product.variants = variantData
-
-      setIsLoadingSLA(false)
-    }
-    fetchData()
-  }, [product])
-
   const productSimilarQuery = [
     product?.name,
     `fq=-product_id_i:${product.id}`,
@@ -274,7 +287,7 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => {
                   <Spinner aria-label='Alternate spinner button example' />
                   <span className='pl-3'>Loading...</span>
                 </Button>
-              ) : activeVariant?.sla?.slaDate != '-' ? (
+              ) : selectedVariant ? activeVariant?.sla?.slaDate != '-' ? (
                 <button
                   type='button'
                   title={`Masa Persiapan Barang ${activeVariant?.sla?.slaDate}`}
@@ -307,7 +320,7 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => {
                     </svg>
                   </div>
                 </button>
-              ) : (
+              ):('-') : (
                 '-'
               )}
             </span>
-- 
cgit v1.2.3

