feat(tool-center): 优化工具中心分组交互与通用弹窗

- 重构工具中心为侧边分组导航,固定弹窗高度并支持内部滚动
- 新增通用可拖拽可缩放 Modal,统一主要弹窗打开体验
- 为工具中心内嵌入口补充返回上一步交互与底部操作区
- 补充多语言文案和工具中心/Modal/i18n 回归测试
This commit is contained in:
Syngnat
2026-06-18 20:28:47 +08:00
parent 06dd9507ee
commit 6b67bb24b4
37 changed files with 1805 additions and 305 deletions

View File

@@ -1,5 +1,6 @@
import Modal from './common/ResizableDraggableModal';
import React from 'react';
import { Checkbox, Input, Modal, Typography } from 'antd';
import { Button, Checkbox, Input, Typography } from 'antd';
import { useI18n } from '../i18n/provider';
const { Text } = Typography;
@@ -17,6 +18,8 @@ export interface ConnectionPackagePasswordModalProps {
confirmLoading?: boolean;
confirmText?: string;
cancelText?: string;
onBack?: () => void;
embedded?: boolean;
onIncludeSecretsChange?: (value: boolean) => void;
onUseFilePasswordChange?: (value: boolean) => void;
onPasswordChange: (value: string) => void;
@@ -35,6 +38,8 @@ export default function ConnectionPackagePasswordModal({
confirmLoading,
confirmText,
cancelText,
onBack,
embedded = false,
onIncludeSecretsChange,
onUseFilePasswordChange,
onPasswordChange,
@@ -58,14 +63,26 @@ export default function ConnectionPackagePasswordModal({
return (
<Modal
open={open}
title={title}
okText={resolvedConfirmText}
cancelText={resolvedCancelText}
confirmLoading={confirmLoading}
onOk={onConfirm}
embedded={embedded}
title={(
<span style={{ minWidth: 0 }}>{title}</span>
)}
onCancel={onCancel}
destroyOnHidden={false}
maskClosable={false}
footer={[
<Button key="cancel" onClick={onCancel}>
{resolvedCancelText}
</Button>,
<Button key="confirm" type="primary" loading={confirmLoading} onClick={onConfirm}>
{resolvedConfirmText}
</Button>,
onBack ? (
<Button key="back" onClick={onBack}>
{t('common.back_to_previous')}
</Button>
) : null,
]}
>
{isExportMode ? (
<div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>