From 4c8469dd5088ab207b1addb12b02891f3b678462 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 14 Apr 2023 10:37:04 +0700 Subject: kunjungan sales & pembayaran tempo --- src/lib/form/components/PembayaranTempo.jsx | 154 ++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 src/lib/form/components/PembayaranTempo.jsx (limited to 'src/lib/form/components/PembayaranTempo.jsx') diff --git a/src/lib/form/components/PembayaranTempo.jsx b/src/lib/form/components/PembayaranTempo.jsx new file mode 100644 index 00000000..78985cb2 --- /dev/null +++ b/src/lib/form/components/PembayaranTempo.jsx @@ -0,0 +1,154 @@ +import getFileBase64 from '@/core/utils/getFileBase64' +import { yupResolver } from '@hookform/resolvers/yup' +import React, { useRef } from 'react' +import ReCAPTCHA from 'react-google-recaptcha' +import { useForm } from 'react-hook-form' +import { toast } from 'react-hot-toast' +import * as Yup from 'yup' +import createLeadApi from '../api/createLeadApi' + +const PembayaranTempo = () => { + const { + register, + handleSubmit, + reset, + formState: { errors } + } = useForm({ + resolver: yupResolver(validationSchema), + defaultValues + }) + + const recaptchaRef = useRef(null) + + const onSubmitHandler = async (values) => { + const recaptchaValue = recaptchaRef.current.getValue() + if (!recaptchaValue) { + toast.error('Recaptcha harus diisi') + return + } + + const npwp = document.getElementById('npwp').files[0] + const nib = document.getElementById('nib').files[0] + const tdp = document.getElementById('tdp').files[0] + const siup = document.getElementById('siup').files[0] + + const data = { + name: 'Pengajuan Pembayaran Tempo - ' + values.name, + contact_name: values.name, + email_from: values.email, + file_npwp: npwp ? await getFileBase64(npwp) : '', + file_nib: nib ? await getFileBase64(nib) : '', + file_tdp: tdp ? await getFileBase64(tdp) : '', + file_siup: siup ? await getFileBase64(siup) : '' + } + + const createLead = await createLeadApi({ data }) + if (createLead) { + toast.success('Berhasil melakukan pengajuan pembayaran tempo') + reset() + recaptchaRef.current.reset() + } + } + return ( +
+

Pembayaran Tempo

+ +
+
+
+ + +
{errors.email?.message}
+
+ +
+ + +
{errors.name?.message}
+
+ +
+ + +
{errors.npwp?.message}
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + + + +
+ +
+
+ ) +} +const validationSchema = Yup.object().shape({ + name: Yup.string().min(3, 'Minimal 3 karakter').required('Harus di-isi'), + email: Yup.string().email('Format harus seperti contoh@email.com').required('Harus di-isi'), + npwp: Yup.string().required('Harus di-isi') +}) +const defaultValues = { + name: '', + email: '', + npwp: '', + siup: '', + tdp: '', + nib: '' +} + +export default PembayaranTempo -- cgit v1.2.3 From bed145acde22ef5ebf69972cf6592063e553bf85 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 14 Apr 2023 10:49:27 +0700 Subject: kunjungan sales & pembayaran tempo --- src/lib/form/components/PembayaranTempo.jsx | 1 + 1 file changed, 1 insertion(+) (limited to 'src/lib/form/components/PembayaranTempo.jsx') diff --git a/src/lib/form/components/PembayaranTempo.jsx b/src/lib/form/components/PembayaranTempo.jsx index 78985cb2..5f32753e 100644 --- a/src/lib/form/components/PembayaranTempo.jsx +++ b/src/lib/form/components/PembayaranTempo.jsx @@ -100,6 +100,7 @@ const PembayaranTempo = () => { className='form-input' accept='application/pdf' id='nib' + placeholder='Hello' /> -- cgit v1.2.3