feat: Dashboard 主题模式切换 — 系统跟随/明亮/黑暗,localStorage 持久化,TDesign theme-mode 驱动
新增 useThemePreference hook 和纯工具函数,支持系统/明亮/黑暗三态主题选择、 matchMedia 系统主题跟随、localStorage 持久化和启动期主题预应用,通过 <html theme-mode> 驱动 TDesign 主题变量切换。 Header 右侧控件重新组织为 .dashboard-header-controls 单行桌面布局,主题 RadioGroup 位于刷新频率 RadioGroup 前。 附带:build.ts import specifier 改为跨平台 sep 转换;config-loader 测试适配 Windows PATH 和 YAML 路径转义;test-utils 类型窄化修复。
This commit is contained in:
@@ -156,7 +156,7 @@ describe("loadConfig", () => {
|
||||
expect(t.cmd.args).toEqual(["nginx"]);
|
||||
expect(t.cmd.cwd).toBe(subdir);
|
||||
expect(t.cmd.maxOutputBytes).toBe(104857600);
|
||||
expect(t.cmd.env["PATH"]).toBeDefined();
|
||||
expect(Object.keys(t.cmd.env).some((key) => key.toUpperCase() === "PATH")).toBe(true);
|
||||
});
|
||||
|
||||
test("解析完整配置", async () => {
|
||||
@@ -234,7 +234,7 @@ targets:
|
||||
await writeFile(
|
||||
configPath,
|
||||
`server:
|
||||
dataDir: "${dataDir}"
|
||||
dataDir: ${JSON.stringify(dataDir)}
|
||||
targets:
|
||||
- name: "test"
|
||||
type: http
|
||||
@@ -609,7 +609,7 @@ targets:
|
||||
const t = config.targets[0] as ResolvedCommandTarget;
|
||||
expect(t.cmd.env["LANG"]).toBe("C");
|
||||
expect(t.cmd.env["CUSTOM_VAR"]).toBe("test");
|
||||
expect(t.cmd.env["PATH"]).toBeDefined();
|
||||
expect(Object.keys(t.cmd.env).some((key) => key.toUpperCase() === "PATH")).toBe(true);
|
||||
});
|
||||
|
||||
test("解析 group 字段", async () => {
|
||||
|
||||
Reference in New Issue
Block a user