diff --git a/src/pages/authentication/ForgotPassword/AuthCallback/index.js b/src/pages/authentication/ForgotPassword/AuthCallback/index.js index 0a636a6..5468505 100644 --- a/src/pages/authentication/ForgotPassword/AuthCallback/index.js +++ b/src/pages/authentication/ForgotPassword/AuthCallback/index.js @@ -20,6 +20,7 @@ import { FormHelperText, TextField, IconButton, InputAdornment, + CircularProgress, } from '@mui/material'; import Loadable from 'components/Loadable'; @@ -48,7 +49,9 @@ const Index = () => { const [verifyState, setVerifyState] = React.useState(null) const [enterUseEffect, setEnterUseEffect] = React.useState(false) const [username, setUsername] = React.useState("") - + const [isSubmitting, setIsSubmitting] = React.useState(false) + const submittingRef = React.useRef(false) + const params = useParams() const intl = useIntl(); @@ -94,6 +97,9 @@ const Index = () => { } const goLogin = async (values) =>{ + if (submittingRef.current) return; + submittingRef.current = true; + setIsSubmitting(true); dispatch(handleLogoutFunction()); HttpUtils.post({ url: UrlUtils.POST_FORGOT_PASSWORD_NEW_PASSWORD, @@ -110,19 +116,24 @@ const Index = () => { // console.log(response) navigate('/forgot/password/success'); location.reload() - // setSumitting(false) }) .catch((error) => { console.error(error) + submittingRef.current = false; + setIsSubmitting(false); }); }, onFail: (response)=>{ console.log("Fail"); console.log(response); + submittingRef.current = false; + setIsSubmitting(false); window.location.assign("/iamsmart/loginFail"); }, onError:(error)=>{ console.log(error); + submittingRef.current = false; + setIsSubmitting(false); window.location.assign("/iamsmart/loginFail"); } }); @@ -384,9 +395,10 @@ const Index = () => { aria-label={intl.formatMessage({id: 'confirm'})} variant="contained" type="submit" - // onClick={()=>goLogin()} + disabled={isSubmitting} + startIcon={isSubmitting ? : null} > - + {isSubmitting ? : }