收口未保存离开确认弹窗

新增 PlatformUnsavedLeaveConfirmDialog 统一承接未保存离开确认壳层
迁移 RPG 创作编辑器的关闭未保存修改与退出未保存结果确认复用共享组件
补充共享组件测试并更新 PlatformUiKit 收口文档与决策记录
This commit is contained in:
2026-06-10 22:26:05 +08:00
parent 4ef805282d
commit 7005792580
5 changed files with 154 additions and 18 deletions

View File

@@ -105,9 +105,9 @@ import { PlatformSlotBadge } from '../common/PlatformSlotBadge';
import { PlatformStatusDialog } from '../common/PlatformStatusDialog';
import { PlatformStatusMessage } from '../common/PlatformStatusMessage';
import { PlatformSubpanel } from '../common/PlatformSubpanel';
import { PlatformUnsavedLeaveConfirmDialog } from '../common/PlatformUnsavedLeaveConfirmDialog';
import { PlatformUploadPreviewCard } from '../common/PlatformUploadPreviewCard';
import { PlatformUploadTile } from '../common/PlatformUploadTile';
import { UnifiedConfirmDialog } from '../common/UnifiedConfirmDialog';
import { CustomWorldCoverArtwork } from '../CustomWorldCoverArtwork';
import { CustomWorldNpcPortrait } from '../CustomWorldNpcVisualEditor';
import {
@@ -1471,19 +1471,15 @@ function CloseConfirmDialog({
confirmLabel?: string;
}) {
return (
<UnifiedConfirmDialog
<PlatformUnsavedLeaveConfirmDialog
open
title="确认关闭"
onClose={onCancel}
confirmLabel={confirmLabel}
cancelLabel="继续编辑"
showCancel
onConfirm={onConfirm}
overlayClassName="z-[140] !items-center"
panelClassName="platform-remap-surface rounded-[1.5rem]"
>
{message}
</UnifiedConfirmDialog>
</PlatformUnsavedLeaveConfirmDialog>
);
}
@@ -3383,22 +3379,19 @@ function SceneImageGenerationModal({
</ModalShell>
{isExitConfirmOpen ? (
<UnifiedConfirmDialog
<PlatformUnsavedLeaveConfirmDialog
open
title="确认退出"
onClose={() => setIsExitConfirmOpen(false)}
confirmLabel="仍然退出"
cancelLabel="继续编辑"
showCancel
onConfirm={() => {
setIsExitConfirmOpen(false);
onClose();
}}
variant="pixel"
overlayClassName="z-[140]"
>
退退
</UnifiedConfirmDialog>
</PlatformUnsavedLeaveConfirmDialog>
) : null}
</>
);
@@ -4029,22 +4022,18 @@ function CoverImageGenerationModal({
</ModalShell>
{isExitConfirmOpen ? (
<UnifiedConfirmDialog
<PlatformUnsavedLeaveConfirmDialog
open
title="确认退出"
onClose={() => setIsExitConfirmOpen(false)}
overlayClassName="z-[140]"
panelClassName="platform-remap-surface rounded-[1.5rem]"
confirmLabel="确认退出"
cancelLabel="继续编辑"
showCancel
onConfirm={() => {
setIsExitConfirmOpen(false);
onClose();
}}
>
退
</UnifiedConfirmDialog>
</PlatformUnsavedLeaveConfirmDialog>
) : null}
</>
);