import React, { useState, useEffect, useMemo, useRef } from 'react'; import { Controller, set, useForm } from 'react-hook-form'; import HookFormSelect from '@/core/components/elements/Select/HookFormSelect'; import odooApi from '~/libs/odooApi'; import stateApi from '@/lib/address/api/stateApi.js'; import cityApi from '@/lib/address/api/cityApi'; import districtApi from '@/lib/address/api/districtApi'; import subDistrictApi from '@/lib/address/api/subDistrictApi'; import { Radio, RadioGroup, Stack, Checkbox } from '@chakra-ui/react'; import { usePengajuanTempoStorePengiriman, usePengajuanTempoStore, } from '../../../../src-migrate/modules/register/stores/usePengajuanTempoStore'; import { toast } from 'react-hot-toast'; import useDevice from '@/core/hooks/useDevice'; import getFileBase64 from '@/core/utils/getFileBase64'; const Pengiriman = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => { const { control, watch, setValue } = useForm(); const { isDesktop, isMobile } = useDevice(); const { formPengiriman, errorsPengiriman, validatePengiriman, updateFormPengiriman, updateDokumenProsedur, } = usePengajuanTempoStorePengiriman(); const { form } = usePengajuanTempoStore(); const [states, setState] = useState([]); const [cities, setCities] = useState([]); const [districts, setDistricts] = useState([]); const [subDistricts, setSubDistricts] = useState([]); const [zips, setZips] = useState([]); const [citiesInvoice, setCitiesInvoice] = useState([]); const [districtsInvoice, setDistrictsInvoice] = useState([]); const [subDistrictsInvoice, setSubDistrictsInvoice] = useState([]); const [zipsInvoice, setZipsInvoice] = useState([]); const [sameAddress, setSameAddress] = useState(false); const [sameAddressStreet, setSameAddressStreet] = useState(false); const [nameFile, setNameFile] = useState(); const [selectedIds, setSelectedIds] = useState( formPengiriman.dokumenPengiriman ? formPengiriman.dokumenPengiriman.split(',').map(Number) : [] ); const [selectedIdsDokumenInvoice, setSelectedIdsselectedIdsDokumenInvoice] = useState( formPengiriman.dokumenPengirimanInvoice ? formPengiriman.dokumenPengirimanInvoice.split(',').map(Number) : [] ); const handleCheckboxChange = (id) => { const updatedSelected = selectedIds.includes(id) ? selectedIds.filter((selectedId) => selectedId !== id) : [...selectedIds, id]; setSelectedIds(updatedSelected); // Jika checkbox 'Lainnya' dipilih, aktifkan input custom updateFormPengiriman('dokumenPengiriman', updatedSelected.join(',')); validatePengiriman(); }; const handleCheckboxChangeDokumenPengirimanInvoice = (id) => { const updatedSelected = selectedIdsDokumenInvoice.includes(id) ? selectedIdsDokumenInvoice.filter((selectedId) => selectedId !== id) : [...selectedIdsDokumenInvoice, id]; setSelectedIdsselectedIdsDokumenInvoice(updatedSelected); // Jika checkbox 'Lainnya' dipilih, aktifkan input custom updateFormPengiriman('dokumenPengirimanInvoice', updatedSelected.join(',')); validatePengiriman(); }; useEffect(() => { if (formPengiriman.dokumenPengiriman) { setSelectedIds(formPengiriman.dokumenPengiriman.split(',').map(Number)); // Parse string menjadi array angka } }, [formPengiriman.dokumenPengiriman]); useEffect(() => { if (formPengiriman.dokumenPengirimanInvoice) { setSelectedIdsselectedIdsDokumenInvoice( formPengiriman.dokumenPengirimanInvoice.split(',').map(Number) ); // Parse string menjadi array angka } }, [formPengiriman.dokumenPengirimanInvoice]); // Fungsi untuk memeriksa apakah item sudah dipilih const isChecked = (id) => selectedIds.includes(id); const isCheckedInvoice = (id) => selectedIdsDokumenInvoice.includes(id); useEffect(() => { const loadState = async () => { let dataState = await stateApi({ tempo: true }); dataState = dataState.map((state) => ({ value: state.id, label: state.name, })); setState(dataState); }; loadState(); }, []); const watchState = watch('statePengiriman'); useEffect(() => { // updateFormPengiriman('cityPengiriman', ''); // setValue('cityPengiriman', ''); // setValue('districtPengiriman', ''); // setValue('subDistrictPengiriman', ''); // setValue('zipPengiriman', ''); if (watchState) { updateFormPengiriman('statePengiriman', `${watchState}`); validatePengiriman(); const loadCities = async () => { let dataCities = await cityApi({ stateId: watchState }); dataCities = dataCities.map((city) => ({ value: city.id, label: city.name, })); setCities(dataCities); }; loadCities(); } }, [watchState]); const watchCity = watch('cityPengiriman'); useEffect(() => { if (watchCity) { updateFormPengiriman('cityPengiriman', `${watchCity}`); validatePengiriman(); const loadDistricts = async () => { let dataDistricts = await districtApi({ cityId: watchCity }); dataDistricts = dataDistricts.map((district) => ({ value: district.id, label: district.name, })); setDistricts(dataDistricts); }; loadDistricts(); } }, [watchCity, setValue]); const watchDistrict = watch('districtPengiriman'); useEffect(() => { // setValue('subDistrictPengiriman', ''); if (watchDistrict) { updateFormPengiriman('districtPengiriman', `${watchDistrict}`); validatePengiriman(); const loadSubDistricts = async () => { let dataSubDistricts = await subDistrictApi({ districtId: watchDistrict, }); dataSubDistricts = dataSubDistricts.map((district) => ({ value: district.id, label: district.name, })); setSubDistricts(dataSubDistricts); }; loadSubDistricts(); } }, [watchDistrict, setValue]); const watchsubDistrict = watch('subDistrictPengiriman'); useEffect(() => { let kelurahan = ''; if (watchsubDistrict) { updateFormPengiriman('subDistrictPengiriman', `${watchsubDistrict}`); validatePengiriman(); for (const data in subDistricts) { if (subDistricts[data].value == watchsubDistrict) { kelurahan = subDistricts[data].label.toLowerCase(); } } const loadZip = async () => { const response = await fetch( `https://alamat.thecloudalert.com/api/cari/index/?keyword=${kelurahan}` ); const result = await response.json(); const dataZips = result.result.map((zip) => ({ value: parseInt(zip.kodepos), label: zip.kodepos, })); setZips(dataZips); }; loadZip(); } }, [watchsubDistrict, setValue, subDistricts]); const watchZip = watch('zipPengiriman'); useEffect(() => { if (watchZip) { updateFormPengiriman('zipPengiriman', `${watchZip}`); validatePengiriman(); } }, [watchZip, setValue]); const watchStateInvoice = watch('stateInvoice'); useEffect(() => { // setValue('cityInvoice', ''); // setValue('districtInvoice', ''); // setValue('subDistrictInvoice', ''); // setValue('zipInvoice', ''); if (watchStateInvoice) { updateFormPengiriman('stateInvoice', `${watchStateInvoice}`); validatePengiriman(); const loadCities = async () => { let dataCities = await cityApi({ stateId: watchStateInvoice }); dataCities = dataCities.map((city) => ({ value: city.id, label: city.name, })); setCitiesInvoice(dataCities); }; loadCities(); } }, [watchStateInvoice]); const watchCityInvoice = watch('cityInvoice'); useEffect(() => { if (watchCityInvoice) { updateFormPengiriman('cityInvoice', `${watchCityInvoice}`); validatePengiriman(); const loadDistricts = async () => { let dataDistricts = await districtApi({ cityId: watchCityInvoice }); dataDistricts = dataDistricts.map((district) => ({ value: district.id, label: district.name, })); setDistrictsInvoice(dataDistricts); }; loadDistricts(); } }, [watchCityInvoice]); const watchDistrictInvoice = watch('districtInvoice'); useEffect(() => { // setValue('subDistrictInvoice', ''); if (watchDistrictInvoice) { updateFormPengiriman('districtInvoice', `${watchDistrictInvoice}`); validatePengiriman(); const loadSubDistricts = async () => { let dataSubDistricts = await subDistrictApi({ districtId: watchDistrictInvoice, }); dataSubDistricts = dataSubDistricts.map((district) => ({ value: district.id, label: district.name, })); setSubDistrictsInvoice(dataSubDistricts); }; loadSubDistricts(); } }, [watchDistrictInvoice, setValue]); const watchsubDistrictInvoice = watch('subDistrictInvoice'); useEffect(() => { let kelurahan = ''; if (watchsubDistrictInvoice) { updateFormPengiriman('subDistrictInvoice', `${watchsubDistrictInvoice}`); validatePengiriman(); for (const data in subDistrictsInvoice) { if (subDistrictsInvoice[data].value == watchsubDistrictInvoice) { kelurahan = subDistrictsInvoice[data].label.toLowerCase(); } } const loadZip = async () => { const response = await fetch( `https://alamat.thecloudalert.com/api/cari/index/?keyword=${kelurahan}` ); const result = await response.json(); const dataZips = result.result.map((zip) => ({ value: parseInt(zip.kodepos), label: zip.kodepos, })); setZipsInvoice(dataZips); }; loadZip(); } }, [watchsubDistrictInvoice, setValue, subDistrictsInvoice]); const watchZipInvoice = watch('zipInvoice'); useEffect(() => { if (watchZipInvoice) { updateFormPengiriman('zipInvoice', `${watchZipInvoice}`); validatePengiriman(); } }, [watchZipInvoice, setValue]); const handleInputChange = (event) => { const { name, value } = event.target; updateFormPengiriman(name, value); validatePengiriman(); }; const handleInputChangeFile = async (event) => { let fileBase64 = ''; const { name } = event.target; const file = event.target.files?.[0]; // Allowed file extensions const allowedExtensions = ['pdf', 'png', 'jpg', 'jpeg']; let fileExtension = ''; if (file) { fileExtension = file.name.split('.').pop()?.toLowerCase(); // Extract file extension // Check if the file extension is allowed if (!fileExtension || !allowedExtensions.includes(fileExtension)) { toast.error( 'Format file yang diijinkan adalah .pdf, .png, .jpg, atau .jpeg', { duration: 4000 } ); event.target.value = ''; return; } // Check for file size if (file.size > 2000000) { // try { // const toastId = toast.loading('mencoba mengompresi file...'); // // Compress image file // const options = { // maxSizeMB: 0.5, // Target size in MB // maxWidthOrHeight: 1920, // Adjust as needed // useWebWorker: true, // }; // const compressedFile = await imageCompression(file, options); // toast.success('berhasil mengompresi file', { duration: 4000 }); // // Convert compressed file to Base64 // fileBase64 = await getFileBase64(compressedFile); // updateFormDokumen( // name, // compressedFile.name, // fileExtension, // fileBase64 // ); // } catch (error) { // toast.error('Gagal mengompresi file', { duration: 4000 }); // } toast.error('Max File Upload 2MB', { duration: 4000 }); } else { // Convert file to Base64 fileBase64 = await getFileBase64(file); updateDokumenProsedur(file.name, fileExtension, fileBase64); } validatePengiriman(); } }; const isFormValid = useMemo( () => Object.keys(errorsPengiriman).length === 0, [errorsPengiriman] ); const tukarInvoiceInputRef = useRef(null); const tukarInvoiceInputPembayaranRef = useRef(null); const PICNameRef = useRef(null); const streetPengirimanRef = useRef(null); const statePengirimanRef = useRef(null); const cityPengirimanRef = useRef(null); const districtPengirimanRef = useRef(null); const subDistrictPengirimanRef = useRef(null); const zipRef = useRef(null); const PICBarangMobileRef = useRef(null); const invoicePicRef = useRef(null); const invoicePicMobileRef = useRef(null); const streetInvoiceRef = useRef(null); const stateInvoiceRef = useRef(null); const cityInvoiceRef = useRef(null); const districtInvoiceRef = useRef(null); const subDistrictInvoiceRef = useRef(null); const zipInvoiceRef = useRef(null); const everyWeekdayInputRef = useRef(null); const everyWeekInputRef = useRef(null); const dokumenPengirimanRef = useRef(null); const dokumenPengirimanInputRef = useRef(null); const dokumenPengirimanInvoiceRef = useRef(null); const dokumenPengirimanInvoiceInputRef = useRef(null); useEffect(() => { const loadIndustries = async () => { if (!isFormValid) { const options = { behavior: 'smooth', block: 'center', }; if (errorsPengiriman.tukarInvoiceInput && tukarInvoiceInputRef.current) { tukarInvoiceInputRef.current.scrollIntoView(options); return; } if (errorsPengiriman.tukarInvoiceInputPembayaran && tukarInvoiceInputPembayaranRef.current) { tukarInvoiceInputPembayaranRef.current.scrollIntoView(options); return; } if (errorsPengiriman.PICName && PICNameRef.current) { PICNameRef.current.scrollIntoView(options); return; } if (errorsPengiriman.streetPengiriman && streetPengirimanRef.current) { streetPengirimanRef.current.scrollIntoView(options); return; } if (errorsPengiriman.statePengiriman && statePengirimanRef.current) { statePengirimanRef.current.scrollIntoView(options); return; } if (errorsPengiriman.cityPengiriman && cityPengirimanRef.current) { cityPengirimanRef.current.scrollIntoView(options); return; } if ( errorsPengiriman.districtsPengiriman && districtPengirimanRef.current ) { districtPengirimanRef.current.scrollIntoView(options); return; } if ( errorsPengiriman.subDistrictsPengiriman && subDistrictPengirimanRef.current ) { subDistrictPengirimanRef.current.scrollIntoView(options); return; } if (errorsPengiriman.zip && zipRef.current) { zipRef.current.scrollIntoView(options); return; } if (errorsPengiriman.PICBarangMobile && PICBarangMobileRef.current) { PICBarangMobileRef.current.scrollIntoView(options); return; } if (errorsPengiriman.invoicePic && invoicePicRef.current) { invoicePicRef.current.scrollIntoView(options); return; } if (errorsPengiriman.invoicePicMobile && invoicePicMobileRef.current) { invoicePicMobileRef.current.scrollIntoView(options); return; } if (errorsPengiriman.streetInvoice && streetInvoiceRef.current) { streetInvoiceRef.current.scrollIntoView(options); return; } if (errorsPengiriman.stateInvoice && stateInvoiceRef.current) { stateInvoiceRef.current.scrollIntoView(options); return; } if (errorsPengiriman.cityInvoice && cityInvoiceRef.current) { cityInvoiceRef.current.scrollIntoView(options); return; } if (errorsPengiriman.districtsInvoice && districtInvoiceRef.current) { districtInvoiceRef.current.scrollIntoView(options); return; } if ( errorsPengiriman.subDistrictsInvoice && subDistrictInvoiceRef.current ) { subDistrictInvoiceRef.current.scrollIntoView(options); return; } if (errorsPengiriman.zipInvoice && zipInvoiceRef.current) { zipInvoiceRef.current.scrollIntoView(options); return; } if ( errorsPengiriman.everyWeekdayInput && everyWeekdayInputRef.current ) { everyWeekdayInputRef.current.scrollIntoView(options); return; } if (errorsPengiriman.everyWeekInput && everyWeekInputRef.current) { everyWeekInputRef.current.scrollIntoView(options); return; } if ( errorsPengiriman.dokumenPengiriman && dokumenPengirimanRef.current ) { dokumenPengirimanRef.current.scrollIntoView(options); return; } if ( errorsPengiriman.dokumenInvoice && dokumenPengirimanInvoiceRef.current ) { dokumenPengirimanInvoiceRef.current.scrollIntoView(options); return; } if ( selectedIds && formPengiriman.dokumenPengirimanInput === '' && dokumenPengirimanInputRef.current ) { dokumenPengirimanInputRef.current.scrollIntoView(options); return; } if ( selectedIdsDokumenInvoice && formPengiriman.dokumenPengirimanInvoiceInput === '' && dokumenPengirimanInvoiceInputRef.current ) { dokumenPengirimanInvoiceInputRef.current.scrollIntoView(options); return; } } }; loadIndustries(); }, [buttonSubmitClick, chekValid]); useEffect(() => { if (formPengiriman.isSameAddreesStreet == 'true') { setSameAddressStreet(true); } else { setSameAddressStreet(false); } }, [formPengiriman.isSameAddreesStreet]); useEffect(() => { if (formPengiriman.isSameAddrees == 'true') { setSameAddress(true); } else { setSameAddress(false); } }, [formPengiriman.isSameAddrees]); // useEffect(() => { // validatePengiriman(); // if (formPengiriman.isSameAddrees) { // const isSame = formPengiriman.isSameAddrees; // if (isSame == 'true') { // setSameAddress(true); // } else { // setSameAddress(false); // } // } // if (formPengiriman.isSameAddreesStreet) { // const isSame = formPengiriman.isSameAddreesStreet; // if (isSame == 'true') { // setSameAddressStreet(true); // } else { // setSameAddressStreet(false); // } // } // validatePengiriman(); // }, [buttonSubmitClick]); // useEffect(() => { // if (formPengiriman.isSameAddrees) { // const isSame = formPengiriman.isSameAddrees; // if (isSame == 'true') { // setSameAddress(true); // } else { // setSameAddress(false); // } // } // if (formPengiriman.isSameAddreesStreet) { // const isSame = formPengiriman.isSameAddreesStreet; // if (isSame == 'true') { // setSameAddressStreet(true); // } else { // setSameAddressStreet(false); // } // } // validatePengiriman(); // }, [formPengiriman.isSameAddrees, formPengiriman.isSameAddreesStreet]); useEffect(() => { if (sameAddressStreet) { updateFormPengiriman('streetPengiriman', form.street); updateFormPengiriman('statePengiriman', form.state); setValue('statePengiriman', parseInt(form.state)); updateFormPengiriman('cityPengiriman', form.city); setValue('cityPengiriman', parseInt(form.city)); updateFormPengiriman('districtPengiriman', form.district); setValue('districtPengiriman', parseInt(form.district)); updateFormPengiriman('subDistrictPengiriman', form.subDistrict); setValue('subDistrictPengiriman', parseInt(form.subDistrict)); updateFormPengiriman('zipPengiriman', form.zip); setValue('zipPengiriman', parseInt(form.zip)); } // else { // updateFormPengiriman('streetPengiriman', ''); // updateFormPengiriman('statePengiriman', ''); // updateFormPengiriman('cityPengiriman', ''); // updateFormPengiriman('zipPengiriman', ''); // setValue('streetPengiriman', ''); // setValue('statePengiriman', ''); // setValue('cityPengiriman', ''); // } validatePengiriman(); }, [ sameAddressStreet, form.state, form.city, form.district, form.subDistrict, form.zip, ]); useEffect(() => { if (sameAddress) { updateFormPengiriman('streetInvoice', form.street); updateFormPengiriman('stateInvoice', form.state); setValue('stateInvoice', parseInt(form.state)); updateFormPengiriman('cityInvoice', form.city); setValue('cityInvoice', parseInt(form.city)); updateFormPengiriman('districtInvoice', form.district); setValue('districtInvoice', parseInt(form.district)); updateFormPengiriman('subDistrictInvoice', form.subDistrict); setValue('subDistrictInvoice', parseInt(form.subDistrict)); updateFormPengiriman('zipInvoice', form.zip); setValue('zipInvoice', parseInt(form.zip)); } else { // updateFormPengiriman('streetInvoice', ''); // updateFormPengiriman('stateInvoice', ''); // updateFormPengiriman('cityInvoice', ''); // setValue('streetInvoice', ''); // setValue('stateInvoice', ''); // setValue('cityInvoice', ''); } validatePengiriman(); }, [ sameAddress, form.street, form.state, form.city, form.district, form.subDistrict, ]); // useEffect(() => { // if (sameAddress) { // updateFormPengiriman('streetInvoice', formPengiriman.streetPengiriman); // updateFormPengiriman('stateInvoice', formPengiriman.statePengiriman); // setValue('stateInvoice', parseInt(formPengiriman.statePengiriman)); // updateFormPengiriman('cityInvoice', formPengiriman.cityPengiriman); // setValue('cityInvoice', parseInt(formPengiriman.cityPengiriman)); // updateFormPengiriman('isSameAddrees', `${sameAddress}`); // } else { // // updateFormPengiriman('stateInvoice', formPengiriman.stateInvoice); // // setValue('stateInvoice', parseInt(formPengiriman.stateInvoice)); // // updateFormPengiriman('cityInvoice', formPengiriman.cityInvoice); // // setValue('cityInvoice', parseInt(formPengiriman.cityInvoice)); // } // validatePengiriman(); // }, [ // sameAddress, // formPengiriman.streetPengiriman, // formPengiriman.statePengiriman, // formPengiriman.cityPengiriman, // ]); // useEffect(() => { // if (formPengiriman.sameAddressStreet?.toLowerCase().includes('true')) { // setSameAddressStreet(true); // } else { // setSameAddressStreet(false); // } // }, [formPengiriman.sameAddressStreet]); useEffect(() => { if (formPengiriman.statePengiriman) { setValue('statePengiriman', parseInt(formPengiriman.statePengiriman)); } }, [formPengiriman.statePengiriman]); useEffect(() => { if (formPengiriman.cityPengiriman) { setValue('cityPengiriman', parseInt(formPengiriman.cityPengiriman)); } }, [formPengiriman.cityPengiriman]); useEffect(() => { if (formPengiriman.districtPengiriman) { setValue( 'districtPengiriman', parseInt(formPengiriman.districtPengiriman) ); } }, [formPengiriman.districtPengiriman]); useEffect(() => { if (formPengiriman.subDistrictPengiriman) { setValue( 'subDistrictPengiriman', parseInt(formPengiriman.subDistrictPengiriman) ); } }, [formPengiriman.subDistrictPengiriman]); useEffect(() => { if (formPengiriman.zipPengiriman) { setValue('zipPengiriman', parseInt(formPengiriman.zipPengiriman)); } }, [formPengiriman.zipPengiriman]); useEffect(() => { if (formPengiriman.stateInvoice) { setValue('stateInvoice', parseInt(formPengiriman.stateInvoice)); } }, [formPengiriman.stateInvoice]); useEffect(() => { if (formPengiriman.cityInvoice) { setValue('cityInvoice', parseInt(formPengiriman.cityInvoice)); } }, [formPengiriman.cityInvoice]); useEffect(() => { if (formPengiriman.districtInvoice) { setValue('districtInvoice', parseInt(formPengiriman.districtInvoice)); } }, [formPengiriman.districtInvoice]); useEffect(() => { if (formPengiriman.subDistrictInvoice) { setValue( 'subDistrictInvoice', parseInt(formPengiriman.subDistrictInvoice) ); } }, [formPengiriman.subDistrictInvoice]); useEffect(() => { if (formPengiriman.zipInvoice) { setValue('zipInvoice', parseInt(formPengiriman.zipInvoice)); } }, [formPengiriman.zipInvoice]); const getFromLocalStorage = (key) => { const itemStr = localStorage.getItem(key); if (!itemStr) return null; const item = JSON.parse(itemStr); return item; }; // const cachedData = getFromLocalStorage('Pengiriman'); // useEffect(() => { // if (cachedData) { // setValue('cityPengiriman', parseInt(cachedData?.cityPengiriman)); // updateFormPengiriman('cityPengiriman', `${cachedData?.cityPengiriman}`); // } // if (cachedData?.statePengiriman) { // setValue('statePengiriman', parseInt(cachedData?.statePengiriman)); // } // if (cachedData?.stateInvoice) { // setValue('stateInvoice', parseInt(cachedData?.stateInvoice)); // } // if (cachedData?.cityInvoice) { // setValue('cityInvoice', parseInt(cachedData?.cityInvoice)); // } // if (cachedData?.isSameAddrees) { // updateFormPengiriman('isSameAddrees', `${cachedData?.isSameAddrees}`); // } // validatePengiriman(); // }, [cachedData?.cityPengiriman]); // useEffect(() => { // if (cachedData?.everyWeek) { // updateFormPengiriman('everyWeek', cachedData?.everyWeek); // setEveryWeek(cachedData?.everyWeek); // } // if (cachedData?.everyWeekday) { // updateFormPengiriman('everyWeekday', cachedData?.everyWeekday); // setEveryWeekday(cachedData?.everyWeekday); // } // if (cachedData?.tukarInvoice) { // updateFormPengiriman('tukarInvoice', cachedData?.tukarInvoice); // setTukarInvoice(cachedData?.tukarInvoice); // } // if (cachedData?.everyWeekPembayaran) { // updateFormPengiriman( // 'everyWeekPembayaran', // cachedData?.everyWeekPembayaran // ); // setEveryWeekPembayaran(cachedData?.everyWeekPembayaran); // } // if (cachedData?.everyWeekdayPembayaran) { // updateFormPengiriman( // 'everyWeekdayPembayaran', // cachedData?.everyWeekdayPembayaran // ); // setEveryWeekdayPembayaran(cachedData?.everyWeekdayPembayaran); // } // if (cachedData?.tukarInvoicePembayaran) { // updateFormPengiriman( // 'tukarInvoicePembayaran', // cachedData?.tukarInvoicePembayaran // ); // setTukarInvoicePembayaran(cachedData?.tukarInvoicePembayaran); // } // validatePengiriman(); // }, [ // cachedData?.everyWeek, // cachedData?.everyWeekday, // cachedData?.tukarInvoice, // cachedData?.everyWeekdayPembayaran, // cachedData?.everyWeekPembayaran, // cachedData?.tukarInvoicePembayaran, // ]); const handleChangeSameAddress = () => { // setSameAddress(!sameAddress); // if (sameAddress) { // updateFormPengiriman('sameAddress', `true`); // } else { // } updateFormPengiriman('isSameAddrees', `${!sameAddress}`); validatePengiriman(); }; const handleChangeSameAddressStreet = () => { // updateFormPengiriman('sameAddressStreet', `${!sameAddressStreet}`); // setSameAddressStreet(!sameAddressStreet); // if (sameAddressStreet == false) { // updateFormPengiriman('streetPengiriman', ''); // updateFormPengiriman('statePengiriman', ''); // updateFormPengiriman('cityPengiriman', ''); // updateFormPengiriman('zipPengiriman', ''); // setValue('streetPengiriman', ''); // setValue('statePengiriman', ''); // setValue('cityPengiriman', ''); // } updateFormPengiriman('isSameAddreesStreet', `${!sameAddressStreet}`); validatePengiriman(); }; return ( <> {isDesktop && (