From 3c4ebc402e2dbbb680372e8b5e61ed179ee3abe5 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 25 Apr 2023 10:34:28 +0100 Subject: [PATCH] made profile page to be pre filled --- .../Settings/Tabs/PersonalInfoTab.jsx | 491 ++++++++++-------- src/services/UsersService.js | 10 + 2 files changed, 278 insertions(+), 223 deletions(-) diff --git a/src/components/Settings/Tabs/PersonalInfoTab.jsx b/src/components/Settings/Tabs/PersonalInfoTab.jsx index 164ef4e..d9fe9f3 100644 --- a/src/components/Settings/Tabs/PersonalInfoTab.jsx +++ b/src/components/Settings/Tabs/PersonalInfoTab.jsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useEffect, useState } from "react"; import Icons from "../../Helpers/Icons"; import InputCom from "../../Helpers/Inputs/InputCom"; import {Link, useNavigate} from 'react-router-dom' @@ -27,7 +27,13 @@ export default function PersonalInfoTab({ let [togglePromotion, setTogglePromotion] = useState(false) - let [requestStatus, setRequestState] = useState({ + let [profile, setProfile] = useState({ // state for requesting from load profile API + data: [], + loading: true, + status: false + }) + + let [requestStatus, setRequestState] = useState({ // state for requesting from update api message: '', loading: false, status: false @@ -83,230 +89,269 @@ export default function PersonalInfoTab({ }) } + const loadProfile = ()=>{ + apiCall.loadProfile().then((res)=>{ + if(res.data.internal_return < 0){ + setProfile(prev => ({...prev, loading: false, status: true})) + return + } + setProfile(prev => ({...prev, data: [res.data], loading: false, status: true})) + setInputs({ + firstname: res.data.firstname, + lastname: res.data.lastname, + state: res.data.state, + city: res.data.city, + email: res.data.email + }) + }).catch(error =>{ + setProfile(prev => ({...prev, loading: false, status: false})) + }) + } + + useEffect(()=>{ + loadProfile() // loads user profile unto the page + },[]) + return (
-
-
-
- {/* inputs starts here */} - {/* username */} -
- - -
- - {/* Email */} -
- - -
- - {/* Fullname */} -
- -
- - -
-
- - {/* Country */} -
- - -
- - {/* State/Province */} -
- - -
- - {/* City */} -
- - -
- - {/* Preferred Communication*/} -
- -
-
-
- - Email -
-
- - Phone -
-
-
-
- - {/* Allow Promotions */} -
- -
setTogglePromotion(prev => !prev)}> -
-
-
-
-
- {/* inputs ends here */} -
-
-
-
-

- Update Profile - - - -

-

- Profile of at least Size - - 300x300 - - . Gifs work too. - - Max 5mb - - . -

-
-
- - profileImgChangHandler(e)} - type="file" - className="hidden" - /> -
- - - - -
-
-
-
-
-

- Update Cover - - - -

-

- Cover of at least Size - - 1170x920 - - . -

-
-
- - coverImgChangHandler(e)} - type="file" - className="hidden" - /> -
- - - - -
-
-
-
-
+ + {profile.loading ? +
+
+ : + profile.data.length ? + profile.data.map((item, index) => ( +
+
+
+ {/* inputs starts here */} + {/* username */} +
+ + +
+ + {/* Email */} +
+ + +
+ + {/* Fullname */} +
+ +
+ + +
+
+ + {/* Country */} +
+ + +
+ + {/* State/Province */} +
+ + +
+ + {/* City */} +
+ + +
+ + {/* Preferred Communication*/} +
+ +
+
+
+ + Email +
+
+ + Phone +
+
+
+
+ + {/* Allow Promotions */} +
+ +
setTogglePromotion(prev => !prev)}> +
+
+
+
+
+ {/* inputs ends here */} +
+
+
+
+

+ Update Profile + + + +

+

+ Profile of at least Size + + 300x300 + + . Gifs work too. + + Max 5mb + + . +

+
+
+ + profileImgChangHandler(e)} + type="file" + className="hidden" + /> +
+ + + + +
+
+
+
+
+

+ Update Cover + + + +

+

+ Cover of at least Size + + 1170x920 + + . +

+
+
+ + coverImgChangHandler(e)} + type="file" + className="hidden" + /> +
+ + + + +
+
+
+
+
+
+ )) + : + profile.status ? +
No User Information Found!
+ : +
Opps! something went wrong. Try Again Later!
+ } +
{requestStatus.message != '' &&

{requestStatus.message}

}
diff --git a/src/services/UsersService.js b/src/services/UsersService.js index 1d5f6e1..f3910cf 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -228,6 +228,16 @@ class usersService { return this.postAuxEnd("/updateprofile", postData); } + //END POINT CALL FOR GETTING USER PROFILE + loadProfile(post){ + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + }; + return this.postAuxEnd("/loadprofile", postData); + } + //END POINT CALL FOR SENDING REFERRAL MESSAGE sendReferralMsg(postData){ return this.postAuxEnd("/sendreferral", postData);