mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-23 05:37:11 +08:00
- 重构工具中心为侧边分组导航,固定弹窗高度并支持内部滚动 - 新增通用可拖拽可缩放 Modal,统一主要弹窗打开体验 - 为工具中心内嵌入口补充返回上一步交互与底部操作区 - 补充多语言文案和工具中心/Modal/i18n 回归测试
74 lines
2.0 KiB
TypeScript
74 lines
2.0 KiB
TypeScript
import Modal from './common/ResizableDraggableModal';
|
|
import { Spin } from 'antd';
|
|
import { SafetyCertificateOutlined } from '@ant-design/icons';
|
|
|
|
import type { OverlayWorkbenchTheme } from '../utils/overlayWorkbenchTheme';
|
|
import {
|
|
SECURITY_UPDATE_MODAL_CLASS,
|
|
getSecurityUpdateShellSurfaceStyle,
|
|
} from '../utils/securityUpdateVisuals';
|
|
import { useI18n } from '../i18n/provider';
|
|
|
|
interface SecurityUpdateProgressModalProps {
|
|
open: boolean;
|
|
stageText: string;
|
|
detailText?: string;
|
|
overlayTheme: OverlayWorkbenchTheme;
|
|
surfaceOpacity?: number;
|
|
}
|
|
|
|
const SecurityUpdateProgressModal = ({
|
|
open,
|
|
stageText,
|
|
detailText,
|
|
overlayTheme,
|
|
surfaceOpacity = 1,
|
|
}: SecurityUpdateProgressModalProps) => {
|
|
const { t } = useI18n();
|
|
|
|
return (
|
|
<Modal
|
|
rootClassName={SECURITY_UPDATE_MODAL_CLASS}
|
|
open={open}
|
|
closable={false}
|
|
maskClosable={false}
|
|
keyboard={false}
|
|
footer={null}
|
|
width={420}
|
|
centered
|
|
styles={{
|
|
content: getSecurityUpdateShellSurfaceStyle(overlayTheme, surfaceOpacity),
|
|
header: { display: 'none' },
|
|
body: { padding: 28 },
|
|
}}
|
|
>
|
|
<div style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center', gap: 16 }}>
|
|
<div
|
|
style={{
|
|
width: 52,
|
|
height: 52,
|
|
borderRadius: 18,
|
|
display: 'grid',
|
|
placeItems: 'center',
|
|
background: overlayTheme.iconBg,
|
|
color: overlayTheme.iconColor,
|
|
fontSize: 22,
|
|
}}
|
|
>
|
|
<SafetyCertificateOutlined />
|
|
</div>
|
|
<div style={{ fontSize: 16, fontWeight: 700, color: overlayTheme.titleText }}>
|
|
{stageText}
|
|
</div>
|
|
<div style={{ fontSize: 13, color: overlayTheme.mutedText, lineHeight: 1.7 }}>
|
|
{detailText ?? t('security_update.progress.default_detail')}
|
|
</div>
|
|
<Spin size="large" />
|
|
</div>
|
|
</Modal>
|
|
);
|
|
};
|
|
|
|
export type { SecurityUpdateProgressModalProps };
|
|
export default SecurityUpdateProgressModal;
|