Skip to content

Commit 6bcd31a

Browse files
committed
Small fix
1 parent 0dc608a commit 6bcd31a

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

src/components/modal/PasswordResetModal.tsx

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export const PasswordResetModal = ({
3333
onSendEmail,
3434
onVerifyCode,
3535
onResetPassword,
36+
onResendCode,
3637
isLoading = false,
3738
}: PasswordResetModalProps) => {
3839
const [state, setState] = useState<PasswordResetState>({
@@ -49,21 +50,10 @@ export const PasswordResetModal = ({
4950
const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);
5051

5152
useEffect(() => {
52-
if (isOpen) {
53-
setState({
54-
step: 1,
55-
emailInput: email,
56-
code: Array(6).fill(""),
57-
password: "",
58-
errorMessage: "",
59-
isResendDisabled: true,
60-
timer: 60,
61-
});
62-
}
63-
}, [isOpen, email]);
53+
if (state.step === 2) {
54+
timerRef.current = 60;
55+
setState((prev) => ({ ...prev, timer: timerRef.current, isResendDisabled: true }));
6456

65-
useEffect(() => {
66-
if (state.isResendDisabled) {
6757
intervalRef.current = setInterval(() => {
6858
if (timerRef.current <= 1) {
6959
clearInterval(intervalRef.current!);
@@ -79,7 +69,7 @@ export const PasswordResetModal = ({
7969
return () => {
8070
if (intervalRef.current) clearInterval(intervalRef.current);
8171
};
82-
}, [state.isResendDisabled]);
72+
}, [state.step]);
8373

8474
const handleCodeChange = (e: React.FormEvent<HTMLInputElement>, index: number) => {
8575
const inputElement = e.currentTarget;
@@ -205,7 +195,11 @@ export const PasswordResetModal = ({
205195
</div>
206196
</>
207197
) : (
208-
<span>Didn’t receive code? Continue</span>
198+
<>
199+
<span>Didn’t receive code?{" "}
200+
<a onClick={() => onResendCode().catch(console.error)} className={styles["resend-link"]}>Send again</a>
201+
</span>
202+
</>
209203
)}
210204
</div>
211205
</>
@@ -234,4 +228,4 @@ export const PasswordResetModal = ({
234228
</div>
235229
</div>
236230
);
237-
};
231+
};

0 commit comments

Comments
 (0)