/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; import { Button, Card, Input, Space, Typography, Avatar, Tabs, TabPane } from '@douyinfe/semi-ui'; import { IconMail, IconShield, IconGithubLogo, IconKey, IconLock, IconDelete } from '@douyinfe/semi-icons'; import { SiTelegram, SiWechat, SiLinux } from 'react-icons/si'; import { UserPlus, ShieldCheck } from 'lucide-react'; import TelegramLoginButton from 'react-telegram-login'; import { onGitHubOAuthClicked, onOIDCClicked, onLinuxDOOAuthClicked } from '../../../../helpers'; import TwoFASetting from '../components/TwoFASetting'; const AccountManagement = ({ t, userState, status, systemToken, setShowEmailBindModal, setShowWeChatBindModal, generateAccessToken, handleSystemTokenClick, setShowChangePasswordModal, setShowAccountDeleteModal }) => { return ( {/* 卡片头部 */}
{t('账户管理')}
{t('账户绑定、安全设置和身份验证')}
{/* 账户绑定 Tab */} {t('账户绑定')} } itemKey="binding" >
{/* 邮箱绑定 */}
{t('邮箱')}
{userState.user && userState.user.email !== '' ? userState.user.email : t('未绑定')}
{/* 微信绑定 */}
{t('微信')}
{userState.user && userState.user.wechat_id !== '' ? t('已绑定') : t('未绑定')}
{/* GitHub绑定 */}
{t('GitHub')}
{userState.user && userState.user.github_id !== '' ? userState.user.github_id : t('未绑定')}
{/* OIDC绑定 */}
{t('OIDC')}
{userState.user && userState.user.oidc_id !== '' ? userState.user.oidc_id : t('未绑定')}
{/* Telegram绑定 */}
{t('Telegram')}
{userState.user && userState.user.telegram_id !== '' ? userState.user.telegram_id : t('未绑定')}
{status.telegram_oauth ? ( userState.user.telegram_id !== '' ? ( ) : (
) ) : ( )}
{/* LinuxDO绑定 */}
{t('LinuxDO')}
{userState.user && userState.user.linux_do_id !== '' ? userState.user.linux_do_id : t('未绑定')}
{/* 安全设置 Tab */} {t('安全设置')} } itemKey="security" >
{/* 系统访问令牌 */}
{t('系统访问令牌')} {t('用于API调用的身份验证令牌,请妥善保管')} {systemToken && (
} />
)}
{/* 密码管理 */}
{t('密码管理')} {t('定期更改密码可以提高账户安全性')}
{/* 两步验证设置 */} {/* 危险区域 */}
{t('删除账户')} {t('此操作不可逆,所有数据将被永久删除')}
); }; export default AccountManagement;