|
|
|
|
@ -1,4 +1,8 @@ |
|
|
|
|
import { ChangeEvent, useState } from 'react' |
|
|
|
|
import { |
|
|
|
|
ChangeEvent, |
|
|
|
|
useEffect, |
|
|
|
|
useState, |
|
|
|
|
} from 'react' |
|
|
|
|
|
|
|
|
|
import { isValidEmail } from 'features/AuthServiceApp/helpers/isValidEmail' |
|
|
|
|
import { loginCheckChangePass } from 'features/AuthServiceApp/requests/loginCheck' |
|
|
|
|
@ -11,6 +15,7 @@ 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 }, |
|
|
|
|
@ -26,6 +31,7 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => { |
|
|
|
|
|
|
|
|
|
const closePopup = () => { |
|
|
|
|
setIsSendMessage(false) |
|
|
|
|
setIsSuccess(false) |
|
|
|
|
setIsFetching(false) |
|
|
|
|
setError('') |
|
|
|
|
setEmail('') |
|
|
|
|
@ -38,17 +44,22 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => { |
|
|
|
|
setIsFetching(false) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const handleSubmit = async () => { |
|
|
|
|
try { |
|
|
|
|
setIsFetching(true) |
|
|
|
|
await loginCheckChangePass(email, lang) |
|
|
|
|
setIsFetching(false) |
|
|
|
|
setIsSendMessage(true) |
|
|
|
|
} catch (err) { |
|
|
|
|
handleError(String(err)) |
|
|
|
|
} |
|
|
|
|
const handleSubmit = () => { |
|
|
|
|
setIsFetching(true) |
|
|
|
|
loginCheckChangePass(email, lang) |
|
|
|
|
.then(() => setIsFetching(false)) |
|
|
|
|
.then(() => setIsSendMessage(true)) |
|
|
|
|
.catch(handleError) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (!isFetching && isSendMessage) { |
|
|
|
|
setIsSuccess(true) |
|
|
|
|
} else { |
|
|
|
|
setIsSuccess(false) |
|
|
|
|
} |
|
|
|
|
}, [isSendMessage, isFetching]) |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
closePopup, |
|
|
|
|
email, |
|
|
|
|
@ -56,7 +67,7 @@ export const useRecovery = (setIsModalOpen: (value: boolean) => void) => { |
|
|
|
|
handleSubmit, |
|
|
|
|
isFetching, |
|
|
|
|
isSendBtnDisabled, |
|
|
|
|
isSendMessage, |
|
|
|
|
isSuccess, |
|
|
|
|
onEmailChange, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|