iter(g332): 主题工具下沉到组件库

This commit is contained in:
HIsheR
2026-10-27 02:05:27 +08:00
parent 3e6c32520b
commit 4b37399593
9 changed files with 97 additions and 14 deletions
+9
View File
@@ -3374,6 +3374,15 @@
"motivation": "editable 与列的 render 都刚落地,但 Agent 拿到两个组件未必拼得对:把草稿信号当数据源(Esc 取消后表格显示未保存的值)、提交后整表换源冲掉别的格草稿、用 format 塞 DOM、在格内点击里又触发整行回调——这四条都是拼装顺序问题,不是组件问题,正好该由配方承接。",
"acceptance": "① recipes.md 新增配方 22(编号连续、含最小骨架与要点),骨架用 dataTable({ data: rows }) + 列 render 包 editable,草稿信号与数据源分离;② 要点覆盖「唯一数据源 / render 只决定画什么 / 整表换源的副作用 / 校验口径与 form 一致 / 格内点击被拦 / 纯文本列仍用 format」六条;③ ua recipes 22 能取出骨架与组件清单,MCP get_recipe 同源可见;④ npm run check 全绿。",
"notes": ""
},
{
"id": "g332",
"domain": "tuning",
"status": "open",
"title": "主题工具下沉:URL 参数 / 记忆 / 跟随系统三档只写一次",
"motivation": "演示站自己写了二十行主题样板(读 ?theme= 参数、读 localStorage、判系统偏好、写 data-theme、落盘),任何接入方都得再抄一遍——抄漏「跟随系统」就永远停在默认亮色,抄漏「只记显式选择」则用户切过一次就再也不会跟着系统变。这类样板属于库该提供的能力,而不是使用说明里的一段示例。",
"acceptance": "① 新增 theme(options) 工具(skin 包导出,走 --ua-* 令牌,不新增组件):优先级 URL 参数 > 本地记忆 > 跟随系统,mode='system' 时监听 prefers-color-scheme 并在变化时换色;② 返回 { mode, dark, set, toggle, dispose },dark 是可直接绑 switchButton 的布尔信号;③ 只有显式选择才落盘,system 档不写记忆;④ 演示站改用 theme({ storageKey: 'ua-demo-theme' }),删掉原先手写的样板且行为不变(?theme=dark 联动仍在);⑤ manifest 导出说明补齐,npm run check 全绿。",
"notes": ""
}
]
}