← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / OpenAI4S / frontend / src / features / theme / README_zh.md

frontend/src/features/theme

English

工作台外观(浅色 / 深色 / 跟随系统)。openai4s/server/webui/theme-bootstrap.js 继续作为经典 <script src> 放在 SPA 的 head 里,这样第一次绘制就已经带上 data-theme。本模块在加载后重新同步、持久化 os-theme,并在偏好为 system 时跟随 prefers-color-scheme。它只在 <html> 上写 data-theme,不写 body.theme-dark。

文件

文件 职责
theme.ts applyTheme / setTheme / cycleTheme / installTheme。localStorage 键为 os-theme。refreshThemeToggle 切换 data-icon,并用 icons/paths.ts 重绘太阳/月亮图形。
theme.test.ts 单真值源、存储键、循环切换、跟随系统、经典 head 脚本、无 body.theme-dark、切换按钮真正重绘(不只改属性)。