diff --git a/src/components/FamilyAcc/FamilyManageTabs.jsx b/src/components/FamilyAcc/FamilyManageTabs.jsx index ddd8e35..2287516 100644 --- a/src/components/FamilyAcc/FamilyManageTabs.jsx +++ b/src/components/FamilyAcc/FamilyManageTabs.jsx @@ -33,7 +33,7 @@ export default function FamilyManageTabs({ loading: false, data: null, }; - +console.log('accountDetails',accountDetails) // State for family details, tasks, waitlist, and pending const [details, setDetails] = useState({ familyDetails: { ...initialDetailState }, @@ -66,8 +66,10 @@ export default function FamilyManageTabs({ // State for family task popout const [familyTaskPopout, setFamilyTaskPopout] = useState(false); + let [uploadStatus, setUploadStatus] = useState({loading: false, status: false, message:''}) // HOLDS STATE FOR UPLOAD PROFILE PICTURE STATUS + // State for profile image - const [profileImg, setProfileImg] = useState(profile); + const [profileImg, setProfileImg] = useState(accountDetails.image ? accountDetails.image : profile); // Ref for profile image input const profileImgInput = useRef(null); @@ -90,24 +92,78 @@ export default function FamilyManageTabs({ * Checks if the selected file exceeds the maximum file size limit and displays an alert if it does. * If the file is within the size limit, it reads the file using the FileReader API and sets the profile image state with the result. */ - const profileImgChangeHandler = (e) => { - const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB + // const profileImgChangeHandler = (e) => { + // const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB - const file = e.target.files[0]; - if (file && file.size > MAX_FILE_SIZE) { - alert("File size exceeds the limit."); - return; + // const file = e.target.files[0]; + // if (file && file.size > MAX_FILE_SIZE) { + // alert("File size exceeds the limit."); + // return; + // } + + // if (file) { + // const imgReader = new FileReader(); + // imgReader.onload = () => { + // const imageDataUrl = imgReader.result; + + // // Set the profile image + // setProfileImg(imageDataUrl); + // }; + // imgReader.readAsDataURL(file); + // } + // }; + + const profileImgChangeHandler = (e) => { + setUploadStatus({loading: false, status: false, message:''}) + let acceptedFormat = ["jpeg", "jpg", "png", "bmp", "gif"] // ARRAY OF SUPPORTED FORMATS + let uploadedFile = e.target.files[0] //UPLOADED FILE + + const fileFormat = uploadedFile?.type?.split("/")[1]?.toLowerCase(); + if(!acceptedFormat.includes(fileFormat)){ //CHECKING FOR CORRECT UPLOAD FORMAT + const msg = `Please select ${acceptedFormat.slice(0, -1).join(', ')} or ${acceptedFormat.slice(-1)}`; + setUploadStatus({loading: false, status: false, message:msg}) + return setTimeout(()=>{ + profileImgInput.current.value = '' // clear the input + setUploadStatus({loading: false, status: false, message:''}) + },5000) } - if (file) { - const imgReader = new FileReader(); - imgReader.onload = () => { - const imageDataUrl = imgReader.result; + if(uploadedFile.size > 5*1048576){ // CHECKING FOR CORRECT FILE SIZE + setUploadStatus({loading: false, status: false, message:'File must not exceed 5MB'}) + return setTimeout(()=>{ + profileImgInput.current.value = '' // clear the input + setUploadStatus({loading: false, status: false, message:''}) + },5000) + } - // Set the profile image - setProfileImg(imageDataUrl); + if (e.target.value !== "") { + const imgReader = new FileReader(); + imgReader.onload = (event) => { + let reqData = { // PAYLOAD FOR API CALL + family_uid: accountDetails?.family_uid, + file_name: uploadedFile?.name, + file_size: uploadedFile?.size, + file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(), + file_data: event?.target?.result, + msg_type: 'FILE', + action: 111305 + } + setUploadStatus({loading: true, status: false, message:'Loading...'}) + apiCall.sendFiles(reqData).then(res=>{ + if(res.status != 200 || res.data.internal_return < 0){ + return setUploadStatus({loading: false, status: false, message: 'Something went wrong, try again'}) + } + setUploadStatus({loading: false, status: true, message: 'Uploaded successfully'}) + setProfileImg(event.target.result); + }).catch(error=>{ + setUploadStatus({loading: false, status: false, message: 'Network error, try again'}) + }).finally(()=>{ + setTimeout(()=>{ + setUploadStatus({loading: false, status: false, message: ''}) + },5000) + }) }; - imgReader.readAsDataURL(file); + imgReader.readAsDataURL(e.target.files[0]); } }; @@ -298,6 +354,7 @@ export default function FamilyManageTabs({ profileImgChangeHandler={profileImgChangeHandler} browseProfileImg={browseProfileImg} accountDetails={accountDetails} + uploadStatus={uploadStatus} />
diff --git a/src/services/UsersService.js b/src/services/UsersService.js index 0eeb773..bb38a78 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -19,16 +19,6 @@ class usersService { return this.postAuxEnd("/completesignuplink", reqData); } - assignJobTask(reqData) { - var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - ...reqData, - }; - return this.postAuxEnd("/assigntask", postData); - } - // FUNCTION TO GET USER CURRENT TASK DUE TIME getHomeDate() { var postData = { @@ -40,12 +30,12 @@ class usersService { return this.postAuxEnd("/dashdata", postData); } - getRecentActivities() { + getRecentActivities(){ var postData = { uid: localStorage.getItem("uid"), member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), - action: 11202, + action: 11202 }; return this.postAuxEnd("/recentactivities", postData); } @@ -378,7 +368,7 @@ class usersService { page: 0, offset: 0, limit: 100, - allstatus: 0, + allstatus: 0 }; return this.postAuxEnd("/activetaskslist", postData); } @@ -608,7 +598,7 @@ class usersService { sessionid: localStorage.getItem("session_token"), page: 0, limit: 100, - ...reqdata, + ...reqdata }; return this.postAuxEnd("/familyupdate", postData); } @@ -792,17 +782,6 @@ class usersService { return this.postAuxEnd("/pendingjobsendtome", postData); } - pendingCancelOffer(reqData) { - var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - action: 13043, - ...reqData, - }; - return this.postAuxEnd("/pendingjobcancel", postData); - } - // FUNCTION TO GET ACTIVE JOB MESSAGE LIST activeJobMesList(reqData) { var postData = { @@ -1099,51 +1078,52 @@ class usersService { return this.postAuxEnd("/blogdata", postData); } - // FUNCTION TO CANCEL TASK OR SEND REMINDER BY FAMILY MEMBER - suggestStatus(reqData) { - var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - action: 22026, - ...reqData, - }; - return this.postAuxEnd("/suggeststatus", postData); - } - // FUNCTION TO GET FAMILY WALLET - getFamilyWallet(reqData) { - var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - action: 22012, - ...reqData, - }; - return this.postAuxEnd("/familywallet", postData); - } + // FUNCTION TO CANCEL TASK OR SEND REMINDER BY FAMILY MEMBER + suggestStatus(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + action: 22026, + ...reqData, + }; + return this.postAuxEnd("/suggeststatus", postData); + } - // FUNCTION TO START FAMILY TRANSFER - familyTransferStart(reqData) { - var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - ...reqData, - }; - return this.postAuxEnd("/familytransferstart", postData); - } + // FUNCTION TO GET FAMILY WALLET + getFamilyWallet(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + action: 22012, + ...reqData, + }; + return this.postAuxEnd("/familywallet", postData); + } + + // FUNCTION TO START FAMILY TRANSFER + familyTransferStart(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + ...reqData, + }; + return this.postAuxEnd("/familytransferstart", postData); + } - // FUNCTION TO PERFORM FAMILY TRANSFER - familyTransfer(reqData) { - var postData = { - uid: localStorage.getItem("uid"), - member_id: localStorage.getItem("member_id"), - sessionid: localStorage.getItem("session_token"), - ...reqData, - }; - return this.postAuxEnd("/familytransfer", postData); - } + // FUNCTION TO PERFORM FAMILY TRANSFER + familyTransfer(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + ...reqData, + }; + return this.postAuxEnd("/familytransfer", postData); + } /* - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username) @@ -1257,10 +1237,6 @@ class usersService { console.log(response); // res = response; console.log("~~~~~~~ Toks2 POST ~~~~~~~~"); - if (response.data.internal_return == "-9999") { - localStorage.clear(); - window.location.href = `/login?sessionExpired=true`; - } return response; }) .catch((error) => {