diff --git a/src/app/ui/forms/confirm-mail-modal-window.tsx b/src/app/ui/forms/confirm-mail-modal-window.tsx new file mode 100644 index 0000000..81bb47e --- /dev/null +++ b/src/app/ui/forms/confirm-mail-modal-window.tsx @@ -0,0 +1,80 @@ +import styles from '@/app/styles/module/login.module.scss'; +import { useTranslations } from 'next-intl'; +import { MouseEvent, useActionState } from 'react'; +import { resendConfirmEmail, confirmEmail } from '@/app/actions/auth'; +export default function ConfirmMailModalWindow({ userId }: any) { + const t = useTranslations('Login-register-form'); + + const [stateEmailConfrim, formActionEmailConfrim, isPendingEmailConfrim] = useActionState( + confirmEmail, + undefined, + ); + + async function reSendEmailConfirmCode(e: MouseEvent) { + e.preventDefault(); + console.log(userId ? userId : ''); + if (userId) { + await resendConfirmEmail(userId); + } + } + + return ( +
e.stopPropagation()} + > +
+
{ + formActionEmailConfrim(e); + }}> +
+

+ {t('enter-confirmation-code')} +

+ + { + }} + /> + +
+
+ {stateEmailConfrim?.error} +
+
+ + +
+ +
+
+
+ ) +} \ No newline at end of file diff --git a/src/app/ui/forms/register-form.tsx b/src/app/ui/forms/register-form.tsx index 48f9d8a..d29fcf9 100644 --- a/src/app/ui/forms/register-form.tsx +++ b/src/app/ui/forms/register-form.tsx @@ -2,13 +2,14 @@ import styles from '@/app/styles/module/login.module.scss'; import { ChangeEvent, useActionState, useEffect, useRef, useState, MouseEvent } from 'react'; -import { registration, FormState, confirmEmail, resendConfirmEmail } from '@/app/actions/auth'; +import { registration, FormState } from '@/app/actions/auth'; import PhoneInput from '@/app/ui/inputs/phone-input'; import Link from 'next/link'; import { useTranslations } from 'next-intl'; import { IconEye } from '@/app/ui/icons/icons'; import { SignupFormSchema } from '@/app/actions/definitions'; import * as z from 'zod' +import ConfirmMailModalWindow from '@/app/ui/forms/confirm-mail-modal-window'; export default function RegisterForm() { const [state, formAction, isPending] = useActionState( @@ -16,11 +17,6 @@ export default function RegisterForm() { undefined, ); - const [stateEmailConfrim, formActionEmailConfrim, isPendingEmailConfrim] = useActionState( - confirmEmail, - undefined, - ); - const t = useTranslations('Login-register-form'); const [showPassword, setShowPassword] = useState(false); const [showConfirmPassword, setShowConfirmPassword] = useState(false); @@ -113,14 +109,6 @@ export default function RegisterForm() { } } - async function reSendEmailConfirmCode(e: MouseEvent) { - e.preventDefault(); - console.log(state?.userId ? state?.userId : ''); - if (state?.userId) { - await resendConfirmEmail(state?.userId); - } - } - return ( <> - - - - - - + )}
{