From 0d9259b7622d3eac5a94ea7fa53169303788eb4c Mon Sep 17 00:00:00 2001 From: kdletters Date: Thu, 11 Jun 2026 04:52:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E6=B2=89=E6=B7=80=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E9=A1=B5=E8=BF=94=E5=9B=9E=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增共享 PlatformBackActionButton 承接结果页轻量返回入口 将拼图方洞拼消消视觉小说等结果页返回按钮收口到共享组件 将拼消消跳一跳敲木鱼宝贝识物结果页返回按钮收口到共享组件 补充对应测试并更新 PlatformUiKit 收口计划与共享决策记录 --- .hermes/shared-memory/decision-log.md | 1 + ...】PlatformUiKit弹窗组件收口计划-2026-06-08.md | 1 + .../common/PlatformBackActionButton.test.tsx | 35 +++++++++++ .../common/PlatformBackActionButton.tsx | 58 +++++++++++++++++++ .../BabyObjectMatchResultView.test.tsx | 26 +++++++++ .../BabyObjectMatchResultView.tsx | 13 ++--- .../JumpHopResultView.test.tsx | 28 ++++++++- .../jump-hop-result/JumpHopResultView.tsx | 12 ++-- .../match3d-result/Match3DResultView.test.tsx | 25 ++++++++ .../match3d-result/Match3DResultView.tsx | 14 ++--- .../PuzzleClearResultView.test.tsx | 26 +++++++++ .../PuzzleClearResultView.tsx | 14 ++--- .../puzzle-result/PuzzleResultView.test.tsx | 23 ++++++++ .../puzzle-result/PuzzleResultView.tsx | 15 ++--- .../SquareHoleResultView.test.tsx | 8 ++- .../SquareHoleResultView.tsx | 13 ++--- .../VisualNovelResultView.test.tsx | 25 ++++++++ .../VisualNovelResultView.tsx | 13 ++--- .../WoodenFishResultView.test.tsx | 26 +++++++++ .../WoodenFishResultView.tsx | 12 ++-- 20 files changed, 313 insertions(+), 75 deletions(-) create mode 100644 src/components/common/PlatformBackActionButton.test.tsx create mode 100644 src/components/common/PlatformBackActionButton.tsx diff --git a/.hermes/shared-memory/decision-log.md b/.hermes/shared-memory/decision-log.md index de43d580..bd0741a5 100644 --- a/.hermes/shared-memory/decision-log.md +++ b/.hermes/shared-memory/decision-log.md @@ -2087,6 +2087,7 @@ - 决策:`PlatformAsyncStatePanel` 从 profile modal 扩展到作品架类白底 panel;`CustomWorldCreationHub.tsx` 的作品架主体现在也统一走 `loadingState / emptyState / children` 三段 slot,但 error + 重试继续留在业务层外侧,不把共享组件扩成“banner + retry + content”全能状态机。后续白底作品架或列表 panel 若只是互斥的 `loading / empty / content`,优先直接复用这套骨架。 - 决策:`CopyFeedbackButton.tsx` 的 `actionSurface` 分支继续收口到 `PlatformActionButton`,`pill` 分支继续保留 `PlatformPillBadge` 风格;复制反馈按钮不再直接调用 `getPlatformActionButtonClassName` 手拼平台按钮基础 chrome。后续同类“复制状态机 + 平台动作按钮”组合优先直接复用 `CopyFeedbackButton`,不要在业务页重新混写图标、文案、aria 和动作按钮 class。 - 决策:白底 / 暗色面板里的轻量空态和普通 CTA 继续向共享组件收口。`PuzzleResultView.tsx` 的缺草稿提示、`RpgCreationAssetDebugPanel.tsx` 的空诊断提示、`VisualNovelEntityGrid` 的空实体列表、`AccountModal.tsx` 里账号安全分区的“无安全限制 / 无登录设备 / 无操作记录”以及 `LoginScreen.tsx` 的“当前登录入口暂不可用”都改为 `PlatformEmptyState`,`Match3DResultView.tsx` 的引用素材列表直接复用 `PlatformAssetPickerGrid` 自己的空态;`AdventureEntityModal.tsx` 的私聊按钮、`InventoryPanel.tsx` 的锻造 / 合成按钮、`RpgCreationRoleAssetStudioModalImpl.tsx`、`RpgCreationEntityEditorShared.tsx` 里的局部 `ActionButton` 包装层,以及 `RpgAdventurePanel.tsx` / `RpgAdventurePanelOverlays.tsx` 里标准 runtime CTA 都改为委托 `PlatformActionButton surface="editorDark"`。后续白底子面板里的只读空态优先使用 `PlatformEmptyState surface="subpanel"`;暗色编辑 / 运行面板里的普通动作优先使用 `PlatformActionButton surface="editorDark"`,若业务仍需 `stopPropagation`、tone 映射、运行态 icon 排版或局部字号,可保留薄包装层,但不要再直接写原生 `