new contract file upload link added

This commit was merged in pull request #742.
This commit is contained in:
victorAnumudu
2024-06-25 19:28:17 +01:00
parent a474d42d85
commit 63eb8b9729
4 changed files with 97 additions and 109 deletions
+40 -54
View File
@@ -100,7 +100,8 @@ function ActiveJobs(props) {
return; return;
} }
// INCLUDE FILE IF NO ERROR // 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 // FUNCTION TO CLEAR ALL TYPED MESSAGE OR FILES
@@ -189,61 +190,46 @@ function ActiveJobs(props) {
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({ loading: false, status: false, message: "" });
}, 5000); }, 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++) { let reqData = {
// Loops through files to send array and trigger upload API call // 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 () => { ApiCall.sendFilesNew(reqData)
// Converts file data to base64 string .then((res) => {
try { if(res.status != 200 || res.data.internal_return < 0){
const base64String = await convertFileToBase64(filesToSend[i]); setRequestStatus({loading: false, status: false, message: 'File could not be sent, try again later'})
return base64String; return
} catch (error) {
return false;
} }
}; setRequestStatus({loading: false, status: true, message: 'File Uploaded Successfully'})
// props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD
// if(await !fileToBase64()){ // setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY
// return })
// } .catch((error) => {
setRequestStatus({loading: false, status: false, message: 'Opps! something went wrong'})
let reqData = { })
file_name: filesToSend[i].name, .finally(() => {
file_size: filesToSend[i].size, setFilesToSend([]); // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY
file_type: "image/png", props.reloadActiveJobList((prev) => !prev); // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD
file_data: await fileToBase64(), setTimeout(() => {
msg_type: "FILE", setRequestStatus({ loading: false, status: false, message: "" });
contract: props.details.contract, }, 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);
}
});
}
}; };
// FUNCTION TO CHECK IF TASK PASS DUE IS REACHED // FUNCTION TO CHECK IF TASK PASS DUE IS REACHED
@@ -445,7 +431,7 @@ function ActiveJobs(props) {
<input <input
type="file" type="file"
id="file" id="file"
accept="image/*" accept="image/*,video/*"
style={{ display: "none" }} style={{ display: "none" }}
onChange={handleFileChange} onChange={handleFileChange}
/> />
+37 -54
View File
@@ -94,7 +94,8 @@ function ActiveJobsMedia(props) {
return; return;
} }
// INCLUDE FILE IF NO ERROR // 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 // FUNCTION TO CLEAR ALL TYPED MESSAGE OR FILES
@@ -184,60 +185,42 @@ function ActiveJobsMedia(props) {
}, 5000); }, 5000);
} }
for (let i = 0; i <= filesToSend.length - 1; i++) { // const fileToBase64 = async () => {
// Loops through files to send array and trigger upload API call // // Converts file data to base64 string
// try {
// const base64String = await convertFileToBase64(filesToSend[i]);
// return base64String;
// } catch (error) {
// return false;
// }
// };
const fileToBase64 = async () => { let reqData = {
// Converts file data to base64 string msg_type: "FILE",
try { contract: props.details.contract,
const base64String = await convertFileToBase64(filesToSend[i]); file: filesToSend[0],
return base64String; };
} catch (error) {
return false;
}
};
// if(await !fileToBase64()){ ApiCall.sendFilesNew(reqData)
// return .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'})
let reqData = { return
file_name: filesToSend[i].name, }
file_size: filesToSend[i].size, setRequestStatus({loading: false, status: true, message: 'File Uploaded Successfully'})
file_type: "image/png", // props.reloadActiveJobList(prev => !prev) // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD
file_data: await fileToBase64(), // setFilesToSend([]) // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY
msg_type: "FILE", })
contract: props.details.contract, .catch((error) => {
}; setRequestStatus({loading: false, status: false, message: 'Opps! something went wrong'})
})
ApiCall.sendFiles(reqData) .finally(() => {
.then((res) => { setFilesToSend([]); // SETS FILES TO SEND TO SEND BACK TO EMPTY ARRAY
// if(res.status != 200 || res.data.internal_return < 0){ props.reloadActiveJobList((prev) => !prev); // MAKES ACTIVE JOB MESSAGE LIST TO RELOAD
// setRequestStatus({loading: false, status: false, message: 'Files(s) could not be sent, try again later'}) setTimeout(() => {
// return setRequestStatus({ loading: false, status: false, message: "" });
// } }, 5000);
// 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);
}
});
}
}; };
// FUNCTION TO CHECK IF TASK PASS DUE IS REACHED // FUNCTION TO CHECK IF TASK PASS DUE IS REACHED
@@ -437,7 +420,7 @@ function ActiveJobsMedia(props) {
<input <input
type="file" type="file"
id="file" id="file"
accept="image/*" accept="image/*,video/*"
style={{ display: "none" }} style={{ display: "none" }}
onChange={handleFileChange} onChange={handleFileChange}
/> />
+2 -1
View File
@@ -36,6 +36,7 @@ export default function RightSideBar({ myJobList }) {
}; };
const { userDetails } = useSelector((state) => state?.userDetails); const { userDetails } = useSelector((state) => state?.userDetails);
let walletExist = userDetails?.wallet_available_status == 'WALLET_AVAILABLE' || localStorage.getItem('wallet_available_status')== 'WALLET_AVAILABLE'
return ( return (
<> <>
@@ -280,7 +281,7 @@ export default function RightSideBar({ myJobList }) {
</div> </div>
{/*JOB LINKS*/} {/*JOB LINKS*/}
{(userDetails?.account_type !== "FAMILY" && userDetails?.wallet_status) && {(userDetails?.account_type !== "FAMILY" && walletExist) &&
myJobList?.data?.result_list?.length > 0 && ( myJobList?.data?.result_list?.length > 0 && (
<div className="top-platform mt-6 bg-white dark:bg-dark-white rounded-2xl py-8 w-full 2xl:mb-10 2xl:border-none border "> <div className="top-platform mt-6 bg-white dark:bg-dark-white rounded-2xl py-8 w-full 2xl:mb-10 2xl:border-none border ">
{/* heading */} {/* heading */}
+18
View File
@@ -908,6 +908,24 @@ class usersService {
return this.postAuxEnd("/uploads", postData); 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 // FUNCTION TO UPLOAD RESOURCE FILES
uploadFile(reqData) { uploadFile(reqData) {
var postData = { var postData = {