diff --git a/src/components/MyActiveJobs/ActiveJobs.jsx b/src/components/MyActiveJobs/ActiveJobs.jsx index 8e56cb7..b46ad91 100644 --- a/src/components/MyActiveJobs/ActiveJobs.jsx +++ b/src/components/MyActiveJobs/ActiveJobs.jsx @@ -96,57 +96,54 @@ function ActiveJobs(props) { // FUNCTION TO SEND FILES const sendFile = async () => { - setRequestStatus({loading: true, status: false, message: ''}) + setRequestStatus({loading: true, status: false, message: ''}) - if(!filesToSend.length){ // checks if file to send is empty - setRequestStatus({loading: false, status: false, message: 'No File(s) selected'}) - return setTimeout(()=>{ - setRequestStatus({loading: false, status: false, message: ''}) - }, 5000) - } - // let reqData = new FormData() + if(!filesToSend.length){ // checks if file to send is empty + setRequestStatus({loading: false, status: false, message: 'No File(s) selected'}) + return setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + }, 5000) + } + + for(let i=0; i<=filesToSend.length-1; i++){ // Loops through files to send array and trigger upload API call + + const fileToBase64 = async () =>{ // Converts file data to base64 string + try { + const base64String = await convertFileToBase64(filesToSend[i]); + return base64String; + } catch (error) { + return false; + } + } + + // if(await !fileToBase64()){ + // return + // } + + let reqData={file_name: filesToSend[i].name, file_size: filesToSend[i].size, file_type: 'image/png', file_data: await fileToBase64(), msg_type: 'FILE', contract:props.details.contract} - // for(let files of filesToSend){ - // reqData.append(files.name, files) - // } - // let reqData={file_size: filesToSend[0].size, file_type: 'image/png', file_data: filesToSend[0], msg_type: 'FILE', contract:props.details.contract} - - // for(let files of filesToSend){ - // reqData[files.name] = files - // } - - const fileToBase64 = async () =>{ - try { - const base64String = await convertFileToBase64(filesToSend[0]); - return base64String; - } catch (error) { - return false; - } - } - - if(await !fileToBase64()){ - return - } - - let reqData={file_name: filesToSend[0].name, file_size: filesToSend[0].size, file_type: 'image/png', file_data: await fileToBase64(), msg_type: 'FILE', contract:props.details.contract} - - console.log(reqData) - ApiCall.sendFiles(reqData).then((res)=>{ - if(res.status != 200 || res.data.internal_return < 0){ - setRequestStatus({loading: false, status: false, message: 'Files(s) could not be sent, try again later'}) - return - } - setRequestStatus({loading: false, status: true, message: 'File(s) Uploaded Successfully'}) - props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD - setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY - }).catch(error => { - setRequestStatus({loading: false, status: false, message: 'Opps! something went wrong'}) - }).finally(()=>{ - setTimeout(()=>{ - setRequestStatus({loading: false, status: false, message: ''}) - }, 5000) - }) - } + ApiCall.sendFiles(reqData).then((res)=>{ + // if(res.status != 200 || res.data.internal_return < 0){ + // setRequestStatus({loading: false, status: false, message: 'Files(s) could not be sent, try again later'}) + // return + // } + // setRequestStatus({loading: false, status: true, message: 'File(s) Uploaded Successfully'}) + // props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD + // setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY + }).catch(error => { + // setRequestStatus({loading: false, status: false, message: 'Opps! something went wrong'}) + }).finally(()=>{ + if(i==filesToSend.length-1){ + setRequestStatus({loading: false, status: true, message: 'File(s) Uploaded Successfully'}) + setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY + props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD + setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + }, 5000) + } + }) + } + } return (