From 63eb8b9729da4f13db6670da4121b160fff865ee Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 25 Jun 2024 19:28:17 +0100 Subject: [PATCH] new contract file upload link added --- src/components/MyActiveJobs/ActiveJobs.jsx | 94 ++++++++----------- .../MyActiveJobs/ActiveJobsMedia.jsx | 91 ++++++++---------- src/components/Partials/RightSideBar.jsx | 3 +- src/services/UsersService.js | 18 ++++ 4 files changed, 97 insertions(+), 109 deletions(-) diff --git a/src/components/MyActiveJobs/ActiveJobs.jsx b/src/components/MyActiveJobs/ActiveJobs.jsx index da8f85a..8dc5852 100644 --- a/src/components/MyActiveJobs/ActiveJobs.jsx +++ b/src/components/MyActiveJobs/ActiveJobs.jsx @@ -100,7 +100,8 @@ function ActiveJobs(props) { return; } // INCLUDE FILE IF NO ERROR - setFilesToSend((prev) => [...prev, files[0]]); + // setFilesToSend((prev) => [...prev, files[0]]); //for sending multiple file if need be + setFilesToSend([files[0]]) }; // FUNCTION TO CLEAR ALL TYPED MESSAGE OR FILES @@ -189,61 +190,46 @@ function ActiveJobs(props) { setRequestStatus({ loading: false, status: false, message: "" }); }, 5000); } + // const fileToBase64 = async () => { + // // Converts file data to base64 string + // try { + // const base64String = await convertFileToBase64(filesToSend[i]); + // return base64String; + // } catch (error) { + // return false; + // } + // }; - for (let i = 0; i <= filesToSend.length - 1; i++) { - // Loops through files to send array and trigger upload API call + 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, + file: filesToSend[0], + }; - const fileToBase64 = async () => { - // Converts file data to base64 string - try { - const base64String = await convertFileToBase64(filesToSend[i]); - return base64String; - } catch (error) { - return false; + ApiCall.sendFilesNew(reqData) + .then((res) => { + if(res.status != 200 || res.data.internal_return < 0){ + setRequestStatus({loading: false, status: false, message: 'File could not be sent, try again later'}) + return } - }; - - // 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, - }; - - 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); - } - }); - } + setRequestStatus({loading: false, status: true, message: 'File 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(() => { + 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); + }); }; // FUNCTION TO CHECK IF TASK PASS DUE IS REACHED @@ -445,7 +431,7 @@ function ActiveJobs(props) { diff --git a/src/components/MyActiveJobs/ActiveJobsMedia.jsx b/src/components/MyActiveJobs/ActiveJobsMedia.jsx index b2f12b5..7ed7ee0 100644 --- a/src/components/MyActiveJobs/ActiveJobsMedia.jsx +++ b/src/components/MyActiveJobs/ActiveJobsMedia.jsx @@ -94,7 +94,8 @@ function ActiveJobsMedia(props) { return; } // INCLUDE FILE IF NO ERROR - setFilesToSend((prev) => [...prev, files[0]]); + // setFilesToSend((prev) => [...prev, files[0]]); //for sending multiple file if need be + setFilesToSend([files[0]]) }; // FUNCTION TO CLEAR ALL TYPED MESSAGE OR FILES @@ -184,60 +185,42 @@ function ActiveJobsMedia(props) { }, 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; + // } + // }; - const fileToBase64 = async () => { - // Converts file data to base64 string - try { - const base64String = await convertFileToBase64(filesToSend[i]); - return base64String; - } catch (error) { - return false; - } - }; + let reqData = { + msg_type: "FILE", + contract: props.details.contract, + file: filesToSend[0], + }; - // 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, - }; - - 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); - } - }); - } + ApiCall.sendFilesNew(reqData) + .then((res) => { + if(res.status != 200 || res.data.internal_return < 0){ + setRequestStatus({loading: false, status: false, message: 'File could not be sent, try again later'}) + return + } + setRequestStatus({loading: false, status: true, message: 'File 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(() => { + 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); + }); }; // FUNCTION TO CHECK IF TASK PASS DUE IS REACHED @@ -437,7 +420,7 @@ function ActiveJobsMedia(props) { diff --git a/src/components/Partials/RightSideBar.jsx b/src/components/Partials/RightSideBar.jsx index dd922c0..92e9489 100644 --- a/src/components/Partials/RightSideBar.jsx +++ b/src/components/Partials/RightSideBar.jsx @@ -36,6 +36,7 @@ export default function RightSideBar({ myJobList }) { }; const { userDetails } = useSelector((state) => state?.userDetails); + let walletExist = userDetails?.wallet_available_status == 'WALLET_AVAILABLE' || localStorage.getItem('wallet_available_status')== 'WALLET_AVAILABLE' return ( <> @@ -280,7 +281,7 @@ export default function RightSideBar({ myJobList }) { {/*JOB LINKS*/} - {(userDetails?.account_type !== "FAMILY" && userDetails?.wallet_status) && + {(userDetails?.account_type !== "FAMILY" && walletExist) && myJobList?.data?.result_list?.length > 0 && (
{/* heading */} diff --git a/src/services/UsersService.js b/src/services/UsersService.js index 36ab4bd..98e9431 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -908,6 +908,24 @@ class usersService { return this.postAuxEnd("/uploads", postData); } + // FUNCTION FOR NEW FILE UPLOAD + sendFilesNew(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + action: apiConst.WRENCHBOARD_CONTRACT_MESSAGE, + ...reqData, + }; + + const formData = new FormData(); + for (let data in postData) { + formData.append(data, postData[data]); + } + + return this.postAuxEnd("/upload/contract", formData, true); + } + // FUNCTION TO UPLOAD RESOURCE FILES uploadFile(reqData) { var postData = {