fix: 添加发送邮件弹窗
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
'use client';
|
||||
|
||||
import Modal, { AlertDialogRef } from '@/components/Modal';
|
||||
import useGlobalStore from '@/config/use-global';
|
||||
import { sendEmailCode, sendSmsCode } from '@/services/common/common';
|
||||
import { AiroButton } from '@workspace/airo-ui/components/AiroButton';
|
||||
import { useCountDown } from 'ahooks';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { UseFormReturn } from 'react-hook-form';
|
||||
import { toast } from 'sonner';
|
||||
|
||||
interface SendCodeProps {
|
||||
type: 'email' | 'phone';
|
||||
@@ -44,11 +44,11 @@ export default function SendCode({ type, params, form }: SendCodeProps) {
|
||||
localStorage.removeItem(`verify_code_${type}`);
|
||||
},
|
||||
});
|
||||
|
||||
const ModalRef = useRef<AlertDialogRef>(null);
|
||||
const setCodeTimer = () => {
|
||||
const endTime = Date.now() + verify_code_interval * 1000;
|
||||
setTargetDate(endTime);
|
||||
toast.success(t('register.sendCode'));
|
||||
ModalRef.current?.show();
|
||||
localStorage.setItem(`verify_code_${type}`, endTime.toString());
|
||||
};
|
||||
|
||||
@@ -89,14 +89,24 @@ export default function SendCode({ type, params, form }: SendCodeProps) {
|
||||
(type === 'email' ? !params.email : !params.telephone || !params.telephone_area_code);
|
||||
|
||||
return (
|
||||
<AiroButton
|
||||
type='button'
|
||||
variant={'primary'}
|
||||
className={'h-[30px] w-[109px]'}
|
||||
onClick={handleSendCode}
|
||||
disabled={disabled}
|
||||
>
|
||||
{seconds > 0 ? `${seconds}s` : t('get')}
|
||||
</AiroButton>
|
||||
<div>
|
||||
<AiroButton
|
||||
type='button'
|
||||
variant={'primary'}
|
||||
className={'h-[30px] w-[109px]'}
|
||||
onClick={handleSendCode}
|
||||
disabled={disabled}
|
||||
>
|
||||
{seconds > 0 ? `${seconds}s` : t('get')}
|
||||
</AiroButton>
|
||||
<Modal
|
||||
ref={ModalRef}
|
||||
title={t('register.sendCodeTitle')}
|
||||
wrapClassName={'w-80'}
|
||||
footerClassName={'hidden'}
|
||||
descriptionClassName={'font-normal text-[#4D4D4D]'}
|
||||
description={t('register.sendCode')}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user