From 8c848cf35811ee95e88ce03745ee25315172d758 Mon Sep 17 00:00:00 2001
From: it-fixcomart <it@fixcomart.co.id>
Date: Thu, 1 Aug 2024 15:29:17 +0700
Subject: <iman> update unchek all cart

---
 src-migrate/modules/cart/components/ItemSelect.tsx | 33 +++++++---------------
 1 file changed, 10 insertions(+), 23 deletions(-)

(limited to 'src-migrate/modules/cart/components/ItemSelect.tsx')

diff --git a/src-migrate/modules/cart/components/ItemSelect.tsx b/src-migrate/modules/cart/components/ItemSelect.tsx
index 6b6b8f2b..b904a1de 100644
--- a/src-migrate/modules/cart/components/ItemSelect.tsx
+++ b/src-migrate/modules/cart/components/ItemSelect.tsx
@@ -1,5 +1,5 @@
 import { Checkbox, Spinner } from '@chakra-ui/react'
-import React, { useState, useEffect } from 'react'
+import React, { useState } from 'react'
 
 import { getAuth } from '~/libs/auth'
 import { CartItem } from '~/types/cart'
@@ -9,17 +9,15 @@ import { useCartStore } from '../stores/useCartStore'
 
 type Props = {
   item: CartItem
-  itemSelected?: boolean
 }
 
-const CartItemSelect = ({ item, itemSelected }: Props) => {
+const CartItemSelect = ({ item }: Props) => {
   const auth = getAuth()
   const { loadCart } = useCartStore()
 
   const [isLoad, setIsLoad] = useState<boolean>(false)
-  const [isChecked, setIsChecked] = useState<boolean>(itemSelected ?? true)
 
-  const handleChange = async (isChecked: boolean) => {
+  const handleChange = async (e: React.ChangeEvent<HTMLInputElement>) => {
     if (typeof auth !== 'object') return
 
     setIsLoad(true)
@@ -28,40 +26,29 @@ const CartItemSelect = ({ item, itemSelected }: Props) => {
       type: item.cart_type,
       id: item.id,
       qty: item.quantity,
-      selected: isChecked,
+      selected: e.target.checked
     })
     await loadCart(auth.id)
     setIsLoad(false)
   }
 
-  useEffect(() => {
-    if (typeof itemSelected === 'boolean') {
-      setIsChecked(itemSelected)
-      handleChange(itemSelected)
-    }
-  }, [itemSelected])
-
-  const handleCheckboxChange = (e: React.ChangeEvent<HTMLInputElement>) => {
-    const { checked } = e.target
-    setIsChecked(checked)
-    handleChange(checked)
-  }
-
   return (
     <div className='w-6 my-auto'>
-      {isLoad && <Spinner className='my-auto' size='sm' />}
+      {isLoad && (
+        <Spinner className='my-auto' size='sm' />
+      )}
 
       {!isLoad && (
         <Checkbox
           borderColor='gray.600'
           colorScheme='red'
           size='lg'
-          isChecked={isChecked}
-          onChange={handleCheckboxChange}
+          isChecked={item.selected}
+          onChange={handleChange}
         />
       )}
     </div>
   )
 }
 
-export default CartItemSelect
+export default CartItemSelect
\ No newline at end of file
-- 
cgit v1.2.3

