diff --git a/src/components/MyWallet/AddRecipient.jsx b/src/components/MyWallet/AddRecipient.jsx index b2e176a..bf0965c 100644 --- a/src/components/MyWallet/AddRecipient.jsx +++ b/src/components/MyWallet/AddRecipient.jsx @@ -108,7 +108,7 @@ function AddRecipient() { } // setRequestStatus({message: 'Recipient Added Successfully!', loading: false, status: true}) toast.success("Recipient Added Successfully!"); - setTimeout(()=>{navigate('../transfer-fund',{replace:true})},1000) + setTimeout(()=>{navigate('/my-wallet/transfer-fund',{replace:true})},1000) }).catch((error)=>{ setRequestStatus({message: 'Opps! an error occured! Try again later', loading: false, status: false}) }) diff --git a/src/components/MyWallet/ConfirmAddFund.jsx b/src/components/MyWallet/ConfirmAddFund.jsx index 8f45f30..7532948 100644 --- a/src/components/MyWallet/ConfirmAddFund.jsx +++ b/src/components/MyWallet/ConfirmAddFund.jsx @@ -39,6 +39,7 @@ function ConfirmAddFund({payment}) { toast.success('Account Topup was sucessful') setTimeout(()=>{ navigate('/my-wallet', {replace: true}) + window.location.reload(true) }, 1000) }).catch(err => { // do something @@ -78,7 +79,7 @@ function ConfirmAddFund({payment}) { useEffect(()=>{ // what happens if not state redirect user if(!state){ - navigate('../add-fund',{replace: true}) + navigate('/my-wallet/add-fund',{replace: true}) }else{ setPageLoading(false) } diff --git a/src/components/MyWallet/ConfirmTransfer.jsx b/src/components/MyWallet/ConfirmTransfer.jsx index a0ef9bd..f125bdd 100644 --- a/src/components/MyWallet/ConfirmTransfer.jsx +++ b/src/components/MyWallet/ConfirmTransfer.jsx @@ -34,7 +34,8 @@ function ConfirmTransfer({payment, wallet}) { setRequestStatus({message: 'transfer successful', loading: false, status: true}) toast.success('Transfer sucessful') setTimeout(()=>{ - navigate('/', {replace: true}) + navigate('/my-wallet', {replace: true}) + window.location.reload(true) }, 1000) }).catch(error=>{ setRequestStatus({message: 'Opps! something went wrong! Try Again', loading: false, status: false}) @@ -44,7 +45,7 @@ function ConfirmTransfer({payment, wallet}) { useEffect(()=>{ // what happens if not state redirect user if(!state){ - navigate('../transfer-fund',{replace: true}) + navigate('/my-wallet/transfer-fund',{replace: true}) }else{ setPageLoading(false) } diff --git a/src/components/Settings/Tabs/PersonalInfoTab.jsx b/src/components/Settings/Tabs/PersonalInfoTab.jsx index 5414e5d..59b3cb0 100644 --- a/src/components/Settings/Tabs/PersonalInfoTab.jsx +++ b/src/components/Settings/Tabs/PersonalInfoTab.jsx @@ -4,6 +4,7 @@ import InputCom from "../../Helpers/Inputs/InputCom"; import {Link, useNavigate} from 'react-router-dom' import usersService from "../../../services/UsersService"; import LoadingSpinner from "../../Spinners/LoadingSpinner"; +import { useSelector } from "react-redux"; import {toast} from 'react-toastify' @@ -34,14 +35,6 @@ const validationSchema = Yup.object().shape({ .required('State is required'), }) -const initialValues = { - firstname: '', - lastname: '', - state: '', - city: '', - email: '' -} - export default function PersonalInfoTab({ datas, frstNmeHndlr, @@ -57,13 +50,23 @@ export default function PersonalInfoTab({ coverImgChangHandler, }) { + let {userDetails} = useSelector((state) => state.userDetails) + const apiCall = new usersService() + let navigate = useNavigate() let [togglePromotion, setTogglePromotion] = useState(false) + const initialValues = { + firstname: userDetails?.firstname, + lastname: userDetails?.lastname, + state: userDetails?.state, + city: userDetails?.city, + email: userDetails?.email + } + let [profile, setProfile] = useState({ // state for requesting from load profile API - data: [], loading: true, status: false }) @@ -74,55 +77,27 @@ export default function PersonalInfoTab({ status: false }) - let [inputs, setInputs] = useState({ // State for input fields - firstname: '', - lastname: '', - state: '', - city: '', - email: '' - }) - - // const handleChange = ({target:{name, value}}) => { - // setInputs(prev => ({...prev, [name]:value})) - // } - const handleUpdateUser = (values, helpers)=> { setRequestState({message: '', loading: true, status: false}) - apiCall.updateProfile(values).then((res)=>{ + apiCall.updateProfile(values).then((res)=>{ // API CALL TO UPDATE USER DETAILS if(res.data.internal_return < 0){ setRequestState({message: 'Profile Was unable to update', loading: false, status: false}) return } // setRequestState({message: 'Profile update successfully', loading: false, status: true}) toast.success("Update Successful"); - setTimeout(()=>{navigate('/',{replace:true})},1000) + setTimeout(()=>{ + navigate('/',{replace:true}) + window.location.reload(true) + },1000) }).catch(error => { setRequestState({message: 'Opps! an error occurred. Try Agian', loading: false, status: false}) }) } - const loadProfile = ()=>{ // function to load user profile - 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 + setProfile({loading: false, status: true}) },[]) return ( @@ -135,14 +110,12 @@ export default function PersonalInfoTab({ :
{requestStatus.message}
} -{requestStatus.message}
} +