import { Inertia } from "@inertiajs/inertia"; import React, { useState, useEffect } from "react"; const ModalInput = ({ fields, tableName, options, initialData, onClose }) => { const [formData, setFormData] = useState({}); const [errors, setErrors] = useState({}); useEffect(() => { setFormData(initialData || {}) }, [initialData]); const handleChange = (e) => { if (e.target.type === "file") { setFormData({ ...formData, [e.target.name]: e.target.files[0] }); } else { setFormData({ ...formData, [e.target.name]: e.target.value }); } }; const handleSubmit = (e) => { e.preventDefault() // console.log("tableName:", tableName); const formDataObj = new FormData() Object.keys(formData).forEach((key) => { if (key === 'foto' && !(formData[key] instanceof File)) { return } formDataObj.append(key, formData[key]) }) if (initialData) { Inertia.post(`/update${tableName}/${initialData.id}`, formDataObj, { forceFormData: true, onError: (errors) => setErrors(errors), onSuccess: () => { document.getElementById('modal_input').checked = false setFormData({}) setErrors({}) onClose({}) } }) } else { Inertia.post(`/add${tableName}`, formDataObj, { forceFormData: true, onError: (errors) => setErrors(errors), onSuccess: () => { document.getElementById('modal_input').checked = false setFormData({}) setErrors({}) } }) } } return (