fix(#2331): fix close popup before to get response from backend

keep-around/5579b78267dac2777683a709b977c357b174a7c8
Andrei Dekterev 4 years ago
parent 72124ba0d5
commit 5579b78267
  1. 20
      src/features/AuthServiceApp/components/RecoveryPopup/hooks.tsx
  2. 6
      src/features/AuthServiceApp/components/RecoveryPopup/index.tsx

@ -1,6 +1,6 @@
import {
MouseEvent,
ChangeEvent,
useEffect,
useState,
} from 'react'
@ -16,7 +16,6 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => {
const [email, setEmail] = useState('')
const [isFetching, setIsFetching] = useState(false)
const [isSendMessage, setIsSendMessage] = useState(false)
const [isSuccess, setIsSuccess] = useState(false)
const onEmailChange = ({
target: { value },
@ -32,7 +31,6 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => {
const closePopup = () => {
setIsSendMessage(false)
setIsSuccess(false)
setIsFetching(false)
setError('')
setEmail('')
@ -45,8 +43,12 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => {
setIsFetching(false)
}
const handleSubmit = () => {
const handleSubmit = (event: MouseEvent) => {
event?.preventDefault()
event?.stopPropagation()
setIsFetching(true)
setIsSendBtnDisabled(true)
loginCheckChangePass(
client_id,
email,
@ -59,14 +61,6 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => {
.catch(handleError)
}
useEffect(() => {
if (!isFetching && isSendMessage) {
setIsSuccess(true)
} else {
setIsSuccess(false)
}
}, [isFetching, isSendMessage])
return {
closePopup,
email,
@ -74,7 +68,7 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => {
handleSubmit,
isFetching,
isSendBtnDisabled,
isSuccess,
isSendMessage,
onEmailChange,
}
}

@ -33,7 +33,7 @@ export const RecoveryPopup = (props: Props) => {
handleSubmit,
isFetching,
isSendBtnDisabled,
isSuccess,
isSendMessage,
onEmailChange,
} = useRecovery(setIsModalOpen)
@ -50,7 +50,7 @@ export const RecoveryPopup = (props: Props) => {
</HeaderTitle>
</Header>
<Body>
{isSuccess ? (
{isSendMessage ? (
<Text>
<T9n t='send_new_email_for_change_pass' />
</Text>
@ -72,7 +72,7 @@ export const RecoveryPopup = (props: Props) => {
</Fragment>
)}
<Footer>
{!isSuccess ? (
{!isSendMessage ? (
<ApplyButton onClick={handleSubmit} disabled={isSendBtnDisabled}>
{isFetching ? <ArrowLoader /> : <T9n t='send' />}
</ApplyButton>

Loading…
Cancel
Save