import React, { useEffect, useMemo, useRef } from 'react'; import { usePengajuanTempoStoreKontakPerson } from '../../../../src-migrate/modules/register/stores/usePengajuanTempoStore'; import useDevice from '@/core/hooks/useDevice'; const KontakPerusahaan = ({ chekValid, buttonSubmitClick, isKonfirmasi }) => { const { formKontakPerson, errorsKontakPerson, validateKontakPerson, updateFormKontakPerson, } = usePengajuanTempoStoreKontakPerson(); const { isDesktop, isMobile } = useDevice(); const handleInputChange = (event) => { const { name, value } = event.target; updateFormKontakPerson(name, value); validateKontakPerson(); }; const isFormValid = useMemo( () => Object.keys(errorsKontakPerson).length === 0, [errorsKontakPerson] ); const direkturNameRef = useRef(null); const direkturMobileRef = useRef(null); const direkturEmailRef = useRef(null); const purchasingNameRef = useRef(null); const purchasingEmailRef = useRef(null); const purchasingMobileRef = useRef(null); const financeNameRef = useRef(null); const financeMobileRef = useRef(null); const financeEmailRef = useRef(null); useEffect(() => { const loadIndustries = async () => { if (!isFormValid) { const options = { behavior: 'smooth', block: 'center', }; if (errorsKontakPerson.direkturName && direkturNameRef.current) { direkturNameRef.current.scrollIntoView(options); return; } if (errorsKontakPerson.direkturMobile && direkturMobileRef.current) { direkturMobileRef.current.scrollIntoView(options); return; } if (errorsKontakPerson.direkturEmail && direkturEmailRef.current) { direkturEmailRef.current.scrollIntoView(options); return; } if (errorsKontakPerson.purchasingName && purchasingNameRef.current) { purchasingNameRef.current.scrollIntoView(options); return; } if ( errorsKontakPerson.purchasingMobile && purchasingMobileRef.current ) { purchasingMobileRef.current.scrollIntoView(options); return; } if (errorsKontakPerson.purchasingEmail && purchasingEmailRef.current) { purchasingEmailRef.current.scrollIntoView(options); return; } if (errorsKontakPerson.financeName && financeNameRef.current) { financeNameRef.current.scrollIntoView(options); return; } if (errorsKontakPerson.financeMobile && financeMobileRef.current) { financeMobileRef.current.scrollIntoView(options); return; } if (errorsKontakPerson.financeEmail && financeEmailRef.current) { financeEmailRef.current.scrollIntoView(options); return; } } }; loadIndustries(); }, [buttonSubmitClick, chekValid]); useEffect(() => { validateKontakPerson(); }, [buttonSubmitClick]); return ( <> {isDesktop && (

Kontak Person

{/* Dropdown untuk memilih "Bpk" atau "Ibu" */} {/* Input untuk nama */}
{chekValid && ( <>
{errorsKontakPerson.direkturName}{' '} {errorsKontakPerson.direkturTittle}
)}
{chekValid && (
{errorsKontakPerson.direkturMobile}
)}
{chekValid && (
{errorsKontakPerson.direkturEmail}
)}
{!isKonfirmasi && ( isi nama purchasing yang bertanggung jawab di perusahaan anda )}
{chekValid && ( <>
{errorsKontakPerson.purchasingName}{' '} {errorsKontakPerson.purchasingTittle}
)}
{!isKonfirmasi && ( isi nomor purchasing yang bertanggung jawab diperusahaan anda )}
{chekValid && (
{errorsKontakPerson.purchasingMobile}
)}
{!isKonfirmasi && ( isi email purchasing yang bertanggung jawab perusahaan anda )}
{chekValid && (
{errorsKontakPerson.purchasingEmail}
)}
{!isKonfirmasi && ( isi nama finance yang bertanggung jawab di perusahaan anda )}
{chekValid && ( <>
{errorsKontakPerson.financeName}{' '} {errorsKontakPerson.financeTittle}
)}
{!isKonfirmasi && ( isi nomor finance yang bertanggung jawab di perusahaan anda )}
{chekValid && (
{errorsKontakPerson.financeMobile}
)}
{!isKonfirmasi && ( isi email finance yang bertanggung jawab diperusahaan anda )}
{chekValid && (
{errorsKontakPerson.financeEmail}
)}
)} {isMobile && (

Kontak Person

{chekValid && (
{errorsKontakPerson.direkturName}{' '} {errorsKontakPerson.direkturTittle}
)}
{chekValid && (
{errorsKontakPerson.direkturMobile}
)}
{chekValid && (
{errorsKontakPerson.direkturEmail}
)}
{chekValid && (
{errorsKontakPerson.purchasingName}{' '} {errorsKontakPerson.purchasingTittle}
)}
{chekValid && (
{errorsKontakPerson.purchasingMobile}
)}
{chekValid && (
{errorsKontakPerson.purchasingEmail}
)}
{chekValid && (
{errorsKontakPerson.financeName}{' '} {errorsKontakPerson.financeTittle}
)}
{chekValid && (
{errorsKontakPerson.financeMobile}
)}
{chekValid && (
{errorsKontakPerson.financeEmail}
)}
)} ); }; export default KontakPerusahaan;