import { AkunCreate, AkunUpdate } from '@/services/referensi/akun-service' import { useFormik } from 'formik' import { Button } from 'primereact/button' import { Dialog } from 'primereact/dialog' import { InputText } from 'primereact/inputtext' export default function FormAkun({ dialogForm, setDialogForm, dataEdit, setDataEdit, refresh, toast }) { const formik = useFormik({ initialValues: { akun_id: dataEdit.akun_id || '', nama: dataEdit.nama || '', }, validate: (data) => { let errors = {} if (!data.akun_id) errors.akun_id = 'Error akun is required.' if (!data.nama) errors.nama = 'Error name is required.' return errors }, onSubmit: (data) => { if (data.akun_id) { AkunUpdate(data).then((res) => { if (res.status === 'success') { refresh(Math.random) formik.resetForm() setDataEdit([]) setDialogForm(false) toast.current.show({ severity: 'success', detail: res.message, closable: false, }) } else { setDialogForm(false) toast.current.show({ severity: 'error', detail: res.message, closable: false, }) } }) } else { AkunCreate(data).then((res) => { if (res.status === 'success') { refresh(Math.random) formik.resetForm() setDataEdit([]) setDialogForm(false) toast.current.show({ severity: 'success', detail: res.message, closable: false, }) } else { setDialogForm(false) toast.current.show({ severity: 'error', detail: res.message, closable: false, }) } }) } }, }) const isFieldValid = (field) => !!(formik.touched[field] && formik.errors[field]) const errorFieldMessage = (field) => { return ( isFieldValid(field) && ( {formik.errors[field]} ) ) } const dialogFooter = (