From a7eb537e671ef1147fa48227db162b85633ddc7f Mon Sep 17 00:00:00 2001 From: hzm <934585316@qq.com> Date: Mon, 16 Mar 2026 19:28:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8E=92=E5=BA=8F=E5=88=AB=E5=90=8D?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/globals.css | 9 +++++++++ app/page.jsx | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/app/globals.css b/app/globals.css index 99dc86f..933ccad 100644 --- a/app/globals.css +++ b/app/globals.css @@ -2093,10 +2093,12 @@ input[type="number"] { flex-shrink: 0; } +/* 亮色主题下,PC 右侧抽屉里的 Switch 拇指使用浅色,以保证对比度 */ [data-theme="light"] .pc-table-setting-drawer .dca-toggle-thumb { background: #fff; } + /* 移动端表格设置底部抽屉 */ .mobile-setting-overlay { position: fixed; @@ -2538,6 +2540,13 @@ input[type="number"] { transition: left 0.2s; } +/* 亮色主题下:所有使用 dca-toggle 的拇指在浅底上统一用白色,保证对比度 + - PC 右侧排序设置抽屉 + - 移动端排序个性化设置 Drawer(以及其它区域) */ +[data-theme="light"] .dca-toggle-thumb { + background: #ffffff; +} + .dca-option-group { background: rgba(0, 0, 0, 0.2); border-radius: 8px; diff --git a/app/page.jsx b/app/page.jsx index d0e25ae..3289009 100644 --- a/app/page.jsx +++ b/app/page.jsx @@ -217,12 +217,37 @@ export default function HomePage() { } if (rulesFromSettings && rulesFromSettings.length) { - const merged = DEFAULT_SORT_RULES.map((rule) => { - const found = rulesFromSettings.find((r) => r.id === rule.id); - return found - ? { ...rule, enabled: found.enabled !== false } - : rule; + // 1)先按本地存储的顺序还原(包含 alias、enabled 等字段) + const defaultMap = new Map( + DEFAULT_SORT_RULES.map((rule) => [rule.id, rule]) + ); + const merged = []; + + // 先遍历本地配置,保持用户自定义的顺序和别名/开关 + for (const stored of rulesFromSettings) { + const base = defaultMap.get(stored.id); + if (!base) continue; + merged.push({ + ...base, + // 只用本地的 enabled / alias 等个性化字段,基础 label 仍以内置为准 + enabled: + typeof stored.enabled === "boolean" + ? stored.enabled + : base.enabled, + alias: + typeof stored.alias === "string" && stored.alias.trim() + ? stored.alias.trim() + : base.alias, + }); + } + + // 再把本次版本新增、但本地还没记录过的规则追加到末尾 + DEFAULT_SORT_RULES.forEach((rule) => { + if (!merged.some((r) => r.id === rule.id)) { + merged.push(rule); + } }); + setSortRules(merged); }