From aadb09a9ea284aedf6acc0d8b5e83836b1845e66 Mon Sep 17 00:00:00 2001 From: kdletters Date: Mon, 31 Aug 2026 11:13:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E6=94=B6=E5=8F=A3=E5=85=B1?= =?UTF-8?q?=E4=BA=AB=E7=BB=84=E4=BB=B6=E5=B9=B6=E8=BF=81=E7=A7=BB=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充 PlatformToggleRow 共享整行开关组件与测试 将多个结果页、工作台和账号页面改用共享 Platform chrome 更新展示页、组件库文档与共享决策记录 --- .../shared-memory/decision-log.md | 6 ++++ ...端架构】共享基础组件库与展示页-2026-08-26.md | 3 ++ src/components/auth/AccountModal.tsx | 18 ++++++----- .../creation-agent/CreationAgentWorkspace.tsx | 24 +++++++------- .../CustomWorldCreationHub.tsx | 14 +++++--- .../BabyObjectMatchWorkspace.tsx | 16 ++++++---- .../match3d-result/Match3DResultView.tsx | 32 ++++++++++++------- .../puzzle-result/PuzzleResultView.tsx | 32 +++++++++---------- .../RpgCreationAssetDebugPanel.tsx | 8 +++-- .../RpgCreationResultActionBar.tsx | 12 ++++--- .../RpgCreationResultViewImpl.tsx | 6 ++-- .../SharedComponentsShowcasePage.tsx | 2 +- .../SquareHoleResultView.tsx | 22 ++++++------- .../VisualNovelResultView.tsx | 31 ++++++++++-------- 14 files changed, 131 insertions(+), 95 deletions(-) diff --git a/docs/project-memory/shared-memory/decision-log.md b/docs/project-memory/shared-memory/decision-log.md index 974958cce..dd0dad3a7 100644 --- a/docs/project-memory/shared-memory/decision-log.md +++ b/docs/project-memory/shared-memory/decision-log.md @@ -7766,3 +7766,9 @@ CI 上 `background_agent_runtime_recovers_stale_running_before_pending_task` 在 - 基础件:`components/ui` 新增语义 `Label`、原生 `Checkbox`、`Skeleton` 和语义 `Table` 组合件;继续沿用项目自有 shadcn open-code 源码,不引入额外运行时依赖。 - 样式:筛选工具栏与可导航列表行的 hover/active/focus/disabled 反馈、移动端断点和独立宿主所需 chrome 放入共享样式;共享主题仍只消费 `--platform-*` token,不依赖网站总 CSS。 - 验证:相关共享/兼容组件 10 个测试文件共 36 个断言、类型检查、编码检查、定向 ESLint、`git diff --check` 和生产构建均通过。 + +## 2026-08-31 共享开关组件与业务页面直引迁移 + +- 决策:新增 `packages/shared/src/components/PlatformToggleRow.tsx`,统一承接白底整行 checkbox / status 开关的语义、状态胶囊和禁用态;`src/components/common/PlatformToggleRow.tsx` 仅保留兼容导出,展示页改为直接从共享 barrel 引入。 +- 迁移:`Match3DResultView`、`PuzzleResultView`、`VisualNovelResultView`、`SquareHoleResultView`、`RpgCreationResultViewImpl`、`RpgCreationResultActionBar`、`RpgCreationAssetDebugPanel`、`CustomWorldCreationHub`、`BabyObjectMatchWorkspace`、`AccountModal`、`CreationAgentWorkspace` 直接消费共享 `Platform*` chrome,玩法专属资源 / 媒体 / 上传 / 弹窗组件继续留在业务层。 +- 验证:共享 PlatformToggleRow 定向测试、相关前端类型检查、编码检查和 `git diff --check` 通过;未改变业务行为或后端契约。 diff --git a/docs/technical/【前端架构】共享基础组件库与展示页-2026-08-26.md b/docs/technical/【前端架构】共享基础组件库与展示页-2026-08-26.md index 20c66a2e0..aef9d6adf 100644 --- a/docs/technical/【前端架构】共享基础组件库与展示页-2026-08-26.md +++ b/docs/technical/【前端架构】共享基础组件库与展示页-2026-08-26.md @@ -29,11 +29,14 @@ - `PlatformProgressBar`、`PlatformSegmentedTabs`、`PlatformFieldLabel`、`PlatformSubpanel` - `PlatformAsyncStatePanel`、`PlatformFilterToolbar`、`PlatformIconBadge`、`PlatformRuntimeStatusToast` - `PlatformInfoBlock`、`PlatformNavigableListItem`、`PlatformStatGrid` +- `PlatformToggleRow`(整行 checkbox / 状态开关) 迁移约定:`Button`、`Modal`、`SegmentedTabs`、`Switch`、`Input`、`Textarea`、`Badge`、`Card` 的 canonical source 位于 `packages/shared/src/components/ui`,旧的 `@genarrative/shared/components` API 作为兼容适配层继续保留。`Button`、`Input`、`Badge` 使用 CVA,Dialog/Tabs/Switch 使用按需 Radix primitive;原生 `SelectField` 暂不迁移,避免破坏现有 `