diff --git a/src/components/MyActiveJobs/ActiveJobs.jsx b/src/components/MyActiveJobs/ActiveJobs.jsx index e0a493f..084538b 100644 --- a/src/components/MyActiveJobs/ActiveJobs.jsx +++ b/src/components/MyActiveJobs/ActiveJobs.jsx @@ -29,6 +29,10 @@ function ActiveJobs(props) { // FUNCTION TO HANDLE FILE UPlOAD CHANGE const handleFileChange = ({target:{files}}) => { setRequestStatus({loading: false, status: false, message: ''}) // State to determine error state + + if(!files[0]) { // IF NO FILE SELECTED RETURN + return + } if(files[0].size > Number(process.env.REACT_APP_MAX_FILE_SIZE)){ setRequestStatus({loading: false, status: false, message: 'File must be <= 1mb'}) setTimeout(()=>{ @@ -90,6 +94,44 @@ function ActiveJobs(props) { }) } + // FUNCTION TO SEND FILES + const sendFile = () => { + 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() + + // 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 + // } + + 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) + }) + } + return ( @@ -198,7 +240,7 @@ function ActiveJobs(props) {
- +
{filesToSend.length > 0 && @@ -267,15 +309,21 @@ function ActiveJobs(props) { {tab == 'files' ? ( ) : diff --git a/src/components/MyTasks/MyOffersTable.jsx b/src/components/MyTasks/MyOffersTable.jsx index d4c73e7..0c80518 100644 --- a/src/components/MyTasks/MyOffersTable.jsx +++ b/src/components/MyTasks/MyOffersTable.jsx @@ -51,9 +51,9 @@ export default function MyOffersTable({ className, MyActiveOffersList}) { // } }; -// if ( !MyActiveOffersList || MyActiveOffersList?.result_list?.length == 0 ){ -// return(''); // want blank or no appear when no items -// } + if ( !MyActiveOffersList || MyActiveOffersList?.result_list?.length == 0 ){ + return(''); // want blank or no appear when no items + } return ( <> diff --git a/src/components/Partials/RightSideBar.jsx b/src/components/Partials/RightSideBar.jsx index 5d05f63..a431fa5 100644 --- a/src/components/Partials/RightSideBar.jsx +++ b/src/components/Partials/RightSideBar.jsx @@ -51,24 +51,11 @@ export default function RightSideBar() {
{/* image */}
- - - + + + + +
{/* name */} @@ -83,37 +70,8 @@ export default function RightSideBar() {
{/* image */}
- - - - - - - - - + +
{/* name */} @@ -130,29 +88,9 @@ export default function RightSideBar() {
{/* image */}
- - - - - + + +
{/* name */}
diff --git a/src/services/UsersService.js b/src/services/UsersService.js index 002e538..42061c6 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -536,6 +536,22 @@ class usersService { return this.postAuxEnd("/sendtaskmessage", postData); } + // FUNCTION TO SEND FILE UPLOAD + sendFiles(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + action: 14010, + ...reqData, + }; + const formData = new FormData(); + for (let data in postData) { + formData.append(data, postData[data]); + } + return this.postAuxEnd("/uploads", formData); + } + // END POINT TO DELETE A JOB deleteJob(reqData) { var postData = {