Skip to content

fix(web): 评论输入框跟随深浅主题 - #99

Merged
chumingjun merged 1 commit into
mainfrom
fix/docwall-comment-theme
Sep 1, 2026
Merged

fix(web): 评论输入框跟随深浅主题#99
chumingjun merged 1 commit into
mainfrom
fix/docwall-comment-theme

Conversation

@chumingjun

Copy link
Copy Markdown
Owner

背景

文稿视图的评论抽屉里,评论输入框在浅色主题下仍是浏览器默认白底黑字,与面板底色割裂;深色主题下更刺眼。用户实测反馈「评论输入框没有按照主题适配」。

根因

.docwall-fb-input(doc-wall.css)只定义了 resize/min-height/font,没声明 background/color/border。全局表单主题规则选择器是 .panel textarea 这类容器限定,覆盖不到 fixed 定位的评论抽屉,于是 textarea 走了 UA 默认样式(白底)。

另一个同源问题:全站从未声明 color-scheme,浏览器原生控件(textarea、滚动条、下拉箭头)一律按亮色渲染,data-theme='dark' 时同样露白。

方案

  • .docwall-fb-input 补齐与 .panel 输入控件同源的令牌样式:--bg-raised 底、--border-strong 边、--fg 文字、focus 光环 --shadow-glow、placeholder --fg-faint;评论条目 .docwall-fb-item--bg-panel 底色区分层次。
  • html { color-scheme: dark } + html[data-theme='light'] { color-scheme: light },原生控件跟随主题。

验证

  • cd web && npm test:14 套全过(0 fail)
  • sh dsh-plugins/build-web.sh:双 base 构建通过
  • 真机验证:dark/light 两主题下评论框底色、边框、文字、placeholder、focus 光环均随主题切换(截图见合并前自查)

.docwall-fb-input 只定义了尺寸字体,没声明 background/color/border,
全局表单主题规则(.panel textarea 等)又覆盖不到抽屉,导致浅色主题
下评论框仍是浏览器默认白底。补上与 .panel 输入控件一致的令牌样式
(底色/边框/文字/focus 光环/placeholder),评论条目底色用 --bg-panel
与抽屉面区分层次。

另在根元素声明 color-scheme 跟随 data-theme:不声明时浏览器原生
控件(textarea、滚动条、下拉)一律按亮色渲染,暗色主题下同样露白。
@chumingjun
chumingjun merged commit 1dae345 into main Sep 1, 2026
1 check passed
@chumingjun
chumingjun deleted the fix/docwall-comment-theme branch September 1, 2026 02:04
chumingjun added a commit that referenced this pull request Sep 1, 2026
10 个 package.json 0.7.1 → 0.7.2(含 dsh-ccpg-one 依赖表 7 子包 pin 同步);
system-upgrade 测试两处版本引用同步(dist-tag mock + up 断言)。

内容:文稿评论与 AI 修订(#98,正文卡死与预览报错稳定性修复含在内)、
评论输入框主题适配(#99)。

验证:全量单测绿;assemble-one 装配通过(dsh-harness-one@0.7.2);
publish-npm --dry-run 通过。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant