diff options
Diffstat (limited to 'src-migrate/modules')
| -rw-r--r-- | src-migrate/modules/cart/components/Item.tsx | 4 | ||||
| -rw-r--r-- | src-migrate/modules/cart/components/ItemSelect.tsx | 33 | ||||
| -rw-r--r-- | src-migrate/modules/promo/components/Hero.tsx | 15 |
3 files changed, 20 insertions, 32 deletions
diff --git a/src-migrate/modules/cart/components/Item.tsx b/src-migrate/modules/cart/components/Item.tsx index 74180fc9..47893498 100644 --- a/src-migrate/modules/cart/components/Item.tsx +++ b/src-migrate/modules/cart/components/Item.tsx @@ -20,7 +20,7 @@ type Props = { pilihSemuaCart?: boolean } -const CartItem = ({ item, editable = true, pilihSemuaCart }: Props) => { +const CartItem = ({ item, editable = true,}: Props) => { return ( <div className={style.wrapper}> @@ -46,7 +46,7 @@ const CartItem = ({ item, editable = true, pilihSemuaCart }: Props) => { <div className={style.mainProdWrapper}> {editable && ( - <CartItemSelect item={item} itemSelected={pilihSemuaCart} /> + <CartItemSelect item={item} /> )} <div className='w-4' /> 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 diff --git a/src-migrate/modules/promo/components/Hero.tsx b/src-migrate/modules/promo/components/Hero.tsx index 801136e9..110052ba 100644 --- a/src-migrate/modules/promo/components/Hero.tsx +++ b/src-migrate/modules/promo/components/Hero.tsx @@ -13,8 +13,8 @@ import DesktopView from '@/core/components/views/DesktopView'; import {bannerApi} from '../../../../src/api/bannerApi' interface IPromotionProgram { - headline_banner: string; - description_banner: string; + headlineBanner: string; + descriptionBanner: string; image: string ; name: string; } @@ -43,7 +43,7 @@ const swiperBannerMob = { }; const Hero = () => { - const heroBanner = useQuery('heroBannerSecondary', bannerApi({ type: 'banner-semua-promo' })) + const heroBanner = useQuery('allPromo', bannerApi({ type: 'banner-semua-promo' })); const banners: IPromotionProgram[] = useMemo( () => heroBanner?.data || [], @@ -55,7 +55,8 @@ const Hero = () => { pagination: { dynamicBullets: false, clickable: true }, }; - + console.log("banner",banners) + // console.log("headlineBanner",banners[0].headlineBanner) return ( <> <DesktopView> @@ -64,9 +65,9 @@ const Hero = () => { {banners.map((banner, index) => ( <SwiperSlide key={index} className='flex flex-row'> <div className={style['desc-section']}> - <div className={style['title']}>{banner.headline_banner? banner.headline_banner : "Pasti Hemat & Untung Selama Belanja di Indoteknik.com!"}</div> + <div className={style['title']}>{banner.headlineBanner? banner.headlineBanner : "Pasti Hemat & Untung Selama Belanja di Indoteknik.com!"}</div> <div className='h-4' /> - <div className={style['subtitle']}>{banner.description_banner? banner.description_banner : "Cari paket yang kami sediakan dengan penawaran harga & Nikmati kemudahan dalam setiap transaksi dengan fitur lengkap Pembayaran hingga barang sampai!"}</div> + <div className={style['subtitle']}>{banner.descriptionBanner? banner.descriptionBanner : "Cari paket yang kami sediakan dengan penawaran harga & Nikmati kemudahan dalam setiap transaksi dengan fitur lengkap Pembayaran hingga barang sampai!"}</div> </div> <div className={style['banner-section']}> <Image @@ -74,7 +75,7 @@ const Hero = () => { alt={banner.name} width={666} height={450} - quality={100} + quality={90} className='w-full h-full object-fit object-center rounded-2xl' /> </div> </SwiperSlide> |
