复用编辑器元数据弹窗外壳

编辑器生成图元数据弹窗改为复用 UnifiedModal

删除元数据弹窗手写遮罩和 dialog 外壳

更新 TRACKING 记录弹窗组件收口
This commit is contained in:
2026-06-14 01:29:46 +08:00
parent f0cb7ac685
commit a1a8b7859c
3 changed files with 40 additions and 52 deletions

View File

@@ -55,6 +55,7 @@ import {
PlatformFloatingMenu,
PlatformFloatingMenuItem,
} from '../common/PlatformFloatingMenu';
import { UnifiedModal } from '../common/UnifiedModal';
type EditorAsset = {
id: string;
@@ -2115,47 +2116,36 @@ export function ImageCanvasEditorView() {
</div>
</div>
{metadataLayer ? (
<div
className="image-canvas-editor__modal-backdrop"
onPointerDown={() => setMetadataLayer(null)}
>
<div
className="image-canvas-editor__metadata-dialog"
role="dialog"
aria-label={`${metadataLayer.title}元数据`}
aria-modal="true"
onPointerDown={(event) => event.stopPropagation()}
>
<div className="image-canvas-editor__metadata-header">
<h2>{metadataLayer.title}</h2>
<EditorIconButton
label="关闭元数据"
icon={X}
onClick={() => setMetadataLayer(null)}
/>
</div>
<dl className="image-canvas-editor__metadata-grid">
<dt></dt>
<dd>{metadataLayer.sourceType}</dd>
<dt></dt>
<dd>
{metadataLayer.originalWidth} x {metadataLayer.originalHeight}
</dd>
<dt></dt>
<dd>{metadataLayer.model ?? '-'}</dd>
<dt></dt>
<dd>{metadataLayer.provider ?? '-'}</dd>
<dt></dt>
<dd>{metadataLayer.taskId ?? '-'}</dd>
<dt></dt>
<dd>{metadataLayer.objectKey ?? metadataLayer.assetObjectId ?? '-'}</dd>
<dt>Prompt</dt>
<dd>{metadataLayer.prompt ?? '-'}</dd>
</dl>
</div>
</div>
) : null}
<UnifiedModal
open={Boolean(metadataLayer)}
title={metadataLayer ? `${metadataLayer.title}元数据` : '元数据'}
size="sm"
closeLabel="关闭元数据"
onClose={() => setMetadataLayer(null)}
panelClassName="image-canvas-editor__metadata-dialog"
bodyClassName="image-canvas-editor__metadata-body"
>
{metadataLayer ? (
<dl className="image-canvas-editor__metadata-grid">
<dt></dt>
<dd>{metadataLayer.sourceType}</dd>
<dt></dt>
<dd>
{metadataLayer.originalWidth} x {metadataLayer.originalHeight}
</dd>
<dt></dt>
<dd>{metadataLayer.model ?? '-'}</dd>
<dt></dt>
<dd>{metadataLayer.provider ?? '-'}</dd>
<dt></dt>
<dd>{metadataLayer.taskId ?? '-'}</dd>
<dt></dt>
<dd>{metadataLayer.objectKey ?? metadataLayer.assetObjectId ?? '-'}</dd>
<dt>Prompt</dt>
<dd>{metadataLayer.prompt ?? '-'}</dd>
</dl>
) : null}
</UnifiedModal>
{generateDialog?.mode === 'edit' ? (
<div