| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| import React from 'react';
|
| import { Banner, Input, Modal, Typography } from '@douyinfe/semi-ui';
|
| import { IconDelete, IconUser } from '@douyinfe/semi-icons';
|
| import Turnstile from 'react-turnstile';
|
|
|
| const AccountDeleteModal = ({
|
| t,
|
| showAccountDeleteModal,
|
| setShowAccountDeleteModal,
|
| inputs,
|
| handleInputChange,
|
| deleteAccount,
|
| userState,
|
| turnstileEnabled,
|
| turnstileSiteKey,
|
| setTurnstileToken,
|
| }) => {
|
| return (
|
| <Modal
|
| title={
|
| <div className='flex items-center'>
|
| <IconDelete className='mr-2 text-red-500' />
|
| {t('删除账户确认')}
|
| </div>
|
| }
|
| visible={showAccountDeleteModal}
|
| onCancel={() => setShowAccountDeleteModal(false)}
|
| onOk={deleteAccount}
|
| size={'small'}
|
| centered={true}
|
| className='modern-modal'
|
| >
|
| <div className='space-y-4 py-4'>
|
| <Banner
|
| type='danger'
|
| description={t('您正在删除自己的帐户,将清空所有数据且不可恢复')}
|
| closeIcon={null}
|
| className='!rounded-lg'
|
| />
|
|
|
| <div>
|
| <Typography.Text strong className='block mb-2 text-red-600'>
|
| {t('请输入您的用户名以确认删除')}
|
| </Typography.Text>
|
| <Input
|
| placeholder={t('输入你的账户名{{username}}以确认删除', {
|
| username: ` ${userState?.user?.username} `,
|
| })}
|
| name='self_account_deletion_confirmation'
|
| value={inputs.self_account_deletion_confirmation}
|
| onChange={(value) =>
|
| handleInputChange('self_account_deletion_confirmation', value)
|
| }
|
| size='large'
|
| className='!rounded-lg'
|
| prefix={<IconUser />}
|
| />
|
| </div>
|
|
|
| {turnstileEnabled && (
|
| <div className='flex justify-center'>
|
| <Turnstile
|
| sitekey={turnstileSiteKey}
|
| onVerify={(token) => {
|
| setTurnstileToken(token);
|
| }}
|
| />
|
| </div>
|
| )}
|
| </div>
|
| </Modal>
|
| );
|
| };
|
|
|
| export default AccountDeleteModal;
|
|
|