import HookFormSelect from '@/core/components/elements/Select/HookFormSelect'; import cityApi from '@/lib/address/api/cityApi'; import stateApi from '@/lib/address/api/stateApi.js'; import { yupResolver } from '@hookform/resolvers/yup'; import React, { useEffect, useRef, useState } from 'react'; import ReCAPTCHA from 'react-google-recaptcha'; import { Controller, useForm } from 'react-hook-form'; import { toast } from 'react-hot-toast'; import * as Yup from 'yup'; import createLeadApi from '../api/createLeadApi'; import PageContent from '@/lib/content/components/PageContent'; import { useRouter } from 'next/router'; import useAuth from '@/core/hooks/useAuth'; const CreateKunjunganService = () => { const { register, handleSubmit, formState: { errors }, control, reset, watch, setValue, } = useForm({ resolver: yupResolver(validationSchema), defaultValues, }); const [cities, setCities] = useState([]); const [state, setState] = useState([]); const [company_unit, setCompany_unit] = useState([]); const router = useRouter(); const auth = useAuth(); if (auth == false) { router.push(`/login?next=${encodeURIComponent('/kunjungan-service')}`); } const recaptchaRef = useRef(null); useEffect(() => { const loadState = async () => { let dataState = await stateApi({ tempo: false }); dataState = dataState.map((state) => ({ value: state.id, label: state.name, })); setState(dataState); }; loadState(); }, []); const watchState = watch('state'); useEffect(() => { if (auth == false) { return; } const loadCities = async () => { setValue('city', ''); let dataCities = await cityApi({ stateId: watchState }); dataCities = dataCities.map((city) => ({ value: city.id, label: city.name, })); setCities(dataCities); }; loadCities(); }, [auth, watchState, setValue]); const onSubmitHandler = async (values) => { const recaptchaValue = recaptchaRef.current.getValue(); if (!recaptchaValue) { toast.error('Catcha harus diisi'); return; } const data = { ...values, name: 'Pengajuan Kunjungan Service - ' + values.company, contact_name: values.cp, email_from: values.email, phone: values.mobile, description: '\r\n Nama Perusahaan : ' + values.company + ' \r\n Alamat : ' + values.address + ' \r\n Propinsi : ' + values.city + ' \r\n Telepon: ' + values.phone + ' \r\n Handphone : ' + values.mobile + ' \r\n Email : ' + values.email + ' \r\n Keterangan : ' + values.description, }; const create_leads = await createLeadApi({ data }); if (create_leads) { toast.success('Berhasil menambahkan alamat'); reset(); recaptchaRef.current.reset(); } }; if (!auth) { return; } return (
Tidak punya waktu untuk melakukan service atau perawatan rutin? Silahkan hubungi teknisi kami untuk melakukan kunjungan ke tempat Anda di Jabodetabek.