import React, { useEffect, useState } from 'react'; import { useCallApi } from '@/hooks'; import { KeenIcon } from '@/components'; import { ImageInput, IImageInputFile } from '@/components/image-input'; import { apiConfig } from '@/config/api.config'; import { toast } from 'sonner'; const API_URL = apiConfig.service_credit; const StepThree = ({ setFormData, formData }: any) => { const [imageFiles, setImageFiles] = useState<{ [key: string]: IImageInputFile[] }>({}); const [formList, setFormList] = useState([]); const { PostData, GetData } = useCallApi(); const uploadFile = async (file: File, name: string, id: string) => { // console.log(file); try { const formData = new FormData(); formData.append('file', file); const response = await PostData(`${API_URL}/application/file/upload`, formData); if (response?.status) { toast.success('Success upload document'); // let obj = { [name]: response.message.name }; let form = { id: id, name: name, type: 'file', value: response?.message.name }; console.log('form:', form); setFormData((prevState: any) => ({ ...prevState, form: [...prevState.form, form] // Tambahkan form ke array form })); } } catch (error) { console.error('Error uploading file:', error); } }; const handleImageChange = (name: string, id: string) => (value: IImageInputFile[]) => { setImageFiles((prev) => ({ ...prev, [name]: value })); value.forEach((item) => { if (item.file) { uploadFile(item.file, name, id); } }); }; const doGetFormList = async (code: string) => { const response = await GetData(`${API_URL}/application/form/list`, { code: formData?.type }); return { data: response?.data }; }; useEffect(() => { const fetchFormList = async () => { try { const { data } = await doGetFormList(formData?.type); setFormList(data); } catch (error) { console.error('Failed to fetch form type', error); } }; fetchFormList(); }, []); return (

Persyaratan Lain


{formList.map((type, index) => (

{type.label_red}

{({ fileList, onImageUpload, onImageRemove, dragProps, isDragging }) => (
)) ) : (
Click here to import file
)}
)} ))} ); }; export { StepThree };