80 lines
1.9 KiB
TypeScript
80 lines
1.9 KiB
TypeScript
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 (
|
||
|
|
<div
|
||
|
|
className="modal-window"
|
||
|
|
onClick={(e) => e.stopPropagation()}
|
||
|
|
>
|
||
|
|
<div className={`${styles['form-group']} ${styles['form-group-confrim-window']}`}>
|
||
|
|
<form action={(e) => {
|
||
|
|
formActionEmailConfrim(e);
|
||
|
|
}}>
|
||
|
|
<div className={`${styles['form-group']}`}>
|
||
|
|
<h4
|
||
|
|
className="mb-6"
|
||
|
|
>
|
||
|
|
{t('enter-confirmation-code')}
|
||
|
|
</h4>
|
||
|
|
<label
|
||
|
|
className={`${styles['form-label']}`}
|
||
|
|
>
|
||
|
|
{t('confirmation-code')}
|
||
|
|
</label>
|
||
|
|
<input
|
||
|
|
type="text"
|
||
|
|
id="emailConfirm"
|
||
|
|
name="emailConfirm"
|
||
|
|
className={`${styles['form-input']}`}
|
||
|
|
placeholder="mail-code"
|
||
|
|
defaultValue=""
|
||
|
|
onChange={(e) => {
|
||
|
|
}}
|
||
|
|
/>
|
||
|
|
<input
|
||
|
|
type="hiden"
|
||
|
|
id="userId"
|
||
|
|
name="userId"
|
||
|
|
style={{ display: 'none' }}
|
||
|
|
defaultValue={userId ? userId : ''}
|
||
|
|
/>
|
||
|
|
</div>
|
||
|
|
<div>
|
||
|
|
{stateEmailConfrim?.error}
|
||
|
|
</div>
|
||
|
|
<div className="flex gap-2">
|
||
|
|
<button type="submit" className={`${styles['btn']}`}>
|
||
|
|
Проверить
|
||
|
|
</button>
|
||
|
|
<button
|
||
|
|
className={`${styles['btn']}`}
|
||
|
|
onClick={(e) => {
|
||
|
|
reSendEmailConfirmCode(e);
|
||
|
|
}}
|
||
|
|
>
|
||
|
|
test
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</form>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
)
|
||
|
|
}
|