fix(design-system): DS-4b 设置输入框旧主题兼容收口 - #4010
Conversation
Signed-off-by: kirozeng <kirozeng@gmail.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
| Filename | Overview |
|---|---|
| apps/desktop/src/renderer/components/settings/SettingsTextInput.tsx | 将原直接重导出改为保留旧设置域主题 alias 的薄封装,并完整透传标准 Input 属性。 |
| apps/desktop/src/renderer/components/ui/input.tsx | 新增内层 input 样式扩展入口,合并顺序确保局部封装覆盖默认样式且错误态最终优先。 |
| apps/desktop/src/renderer/components/ui/tests/inputThemeCompatibility.test.tsx | 覆盖真实本地主题加载链、亮暗模式、alias 作用域、内置主题同值和错误态优先级。 |
| apps/desktop/src/renderer/components/settings/AgentResourceSection.tsx | 将一个既有数字输入接入设置域兼容封装,其他属性和交互保持不变。 |
| apps/desktop/src/renderer/components/settings/CollaborationSection.tsx | 将三个既有数字输入接入设置域兼容封装,保留原数值约束与更新行为。 |
Reviews (1): Last reviewed commit: "fix(design-system): DS-4b 设置输入框旧主题兼容收口" | Re-trigger Greptile
|
已核实本轮反馈,无需代码改动。 本轮新增的两条评论都是机器人消息:一条是 Codex 用量提醒,不涉及代码;另一条是 Greptile 复审摘要,置信 5/5,未发现本 PR 引入的缺陷,结论是可以安全合并。 PR 现状:head 仍是 3c959f2,client-ci、DCO、pr-design-basis 全部通过,也没有人工 review 提出的待办。因此本轮维持现状,不追加提交。 dispatch:9e13d67461ece753 |
|
命中 UI 路径(apps/desktop/src/renderer/components/settings/AgentResourceSection.tsx / apps/desktop/src/renderer/components/settings/CollaborationSection.tsx / apps/desktop/src/renderer/components/settings/SettingsTextInput.tsx 等)但 description 未附界面效果证据——建议补充改动后效果:截图/录屏,或改动后界面的 HTML 页面(```html 代码块、.html 附件或在线预览链接),便于确认界面符合 DESIGN.md 设计规范 |
MagicLizi
left a comment
There was a problem hiding this comment.
代码重审通过:当前 head 未发现 P0/P1,全部 conversation 已 resolve。设置输入框旧主题走 --settings-input-* alias,通用 Input 仍绑 Tier-1;测试夹具写临时主题 JSON,不是外发。
|
已按 UI 证据提醒把界面效果证据补进 description:在「UI 变化」段末尾附了一张自包含的 HTML 复刻页(```html 代码块,保存为 .html 用浏览器打开即可查看)。 这张页面怎么来的:DOM 与样式逐条对应 components/ui/input.tsx 的真实 utility(lg 档 40px/14px/胶囊圆角),色值全部取自 themes/colors.ts 与 docs/design-evidence/2026-09-06/input-theme-compat.md 的实测表,没有新造颜色。页面展示两组对照——内置主题(两列逐值相同,对应「内置主题同值」测试)和受控测试主题(全局蓝系覆盖 vs 设置域棕系局部覆盖,证明作用域隔离),各含 Light/Dark 与正常/placeholder/焦点/错误/禁用五种状态,底部附 token 对照表。 怎么验证的:在真实 Chromium 里渲染该页面并逐项读取 computed style,与实测表核对——56/56 通过(文字/边框/placeholder/焦点边框/焦点环/错误优先级/几何/禁用透明度)。 如实说明边界:截图附件仍未上传(此前仅本地目检,本次未补传);这张 HTML 页是受控组件样例,不是登录后完整设置页的端到端截图;本轮验证是机器核对(computed style 逐项一致),像素级人工目检未执行。description 中「未执行的验证」一节已同步更新。 dispatch:ebcda2034660a49a |
|
旧主题下的设置输入框终于跟通用 Input 各归各位了,局部配色还在、通用件也不再被带跑。谢谢这次把兼容合同写进规范。 |
设计系统改造系列 DS-4b,路线图见 docs/design-rules/design-governance.md §12
这次改了什么
摘要
DS-4 将设置输入框改为直接使用通用 Input 后,旧本地主题中的设置域文字、边框和焦点边框覆盖不再被消费。本 PR 恢复既有设置输入的局部主题合同:SettingsTextInput 继续复用标准 Input 的行为和状态,通过薄封装保留旧 alias;通用 Input 仍使用 Tier-1 默认。
变更类型
fix缺陷修复范围
UI 变化
docs/design-rules/DESIGN.md§4 Input / Textarea 及 §10 双模式要求;docs/design-rules/design-governance.md§4 兼容红线与 §6 两级证据合同。通用组件默认保持 Tier-1,设置封装保留旧作用域,标准错误态优先;Light / Dark 均实现。并在真实 Chromium 内逐项核对 computed style(56/56 通过)。不把受控组件样例称作完整设置页验收。
界面效果证据(改动后界面的 HTML 页面;自包含,保存为
.html用浏览器打开即可查看。同一主题下左列通用 Input 跟 Tier-1/全局覆盖、右列兼容封装跟
settings-input-*局部覆盖;所有输入框可点击聚焦复现
:focus;页面底部附 token 对照表与来源):怎么验证的
自动验证
f045326f1e;模拟合并所得树与候选树相同,合并后的 Desktop 类型检查通过。手工验证
独立 Desktop dev 沙箱启动 ready、身份校验 MATCH;Light / Dark 下测量并目检文字、边框、placeholder、focus、错误及禁用态。截图使用故意不同的全局/局部测试色;不是新增设计色值。
未执行的验证
风险
风险分类
影响与回滚
提交前检查
git commit -s)目标: 恢复旧设置输入框的局部主题配色兼容。
非目标: 不修改通用 Input 的默认配色,不改写用户主题文件,不执行跨域 alias 全族迁移。
验收: 旧主题覆盖在亮暗模式生效,错误态优先,相关测试及类型检查通过;如实记录完整页面与附件上传缺口。