fix: 添加发送邮件弹窗

This commit is contained in:
2025-09-09 06:08:38 -07:00
parent a3fa01395b
commit edfe53808c
4 changed files with 37 additions and 18 deletions
+23 -13
View File
@@ -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>
);
}