feat(web): 添加可自定义主题工作室 / add customizable theme studio#401
Open
Cec1c wants to merge 1 commit into
Open
Conversation
Author
Author
|
btw,我抄newapi的 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

中文说明
这个 PR 为 CPA Manager Plus 增加了统一的「主题工作室」,将原本分散的明暗主题和视觉效果设置整合到一个带调色板图标的侧边抽屉中,并补齐类似 new-api 的主题风格定制能力。
主要功能
兼容性
这是纯前端改动,不修改 Manager Server、CPA API、配置文件或数据库。CPA panel、Manager Server 和完整 Docker 模式均沿用现有单文件前端构建方式,不新增运行时依赖。
验证结果
npm run type-check通过npm run lint通过npm test:106 个测试文件、971 项测试全部通过npm run build和npm run build:demo通过Summary
Adds a unified Theme Studio inspired by modern admin theme customizers. It replaces the separate theme/effects menus with one palette drawer and keeps all preferences local to the browser.
Scope
Changes
User Impact
Users can open the palette icon to personalize CPAMP without editing CSS. Existing Auto/Light/Dark and Full effects/Performance choices are now part of the same panel and retain their prior behavior.
Compatibility / Runtime Notes
Data / Security Notes
N/A. Theme preferences are stored in browser local storage only; no credentials or server data are touched.
Risk / Rollback
Risk level: Medium
Rollback notes: revert commit
75bec2d2; no data migration or server rollback is required.Verification
Commands / evidence:
Screenshots / Recordings
Manual screenshots were captured during local QA for the desktop dashboard, mobile drawer, and login page. They are not committed to avoid adding binary documentation assets; the demo can be reproduced with
npm run dev:demo.Docs
Docs decision: the feature is self-contained and discoverable from the palette icon, introduces no server configuration, and uses translated inline descriptions for every option.
Related
N/A