From abd17f53ca40f5fbb7791c14527c5dc10604fda8 Mon Sep 17 00:00:00 2001 From: Gundy Date: Fri, 3 Jul 2026 12:39:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(theme):=20=E4=BA=AE=E8=89=B2=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=AE=9E=E6=B5=8B=E4=BF=AE=E6=AD=A3=20=E2=80=94=20?= =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E9=9B=B7=E8=BE=BE=E5=9B=BE/=E8=BF=91?= =?UTF-8?q?=E7=99=BD=E6=96=87=E5=AD=97/=E5=9B=BE=E4=BE=8B=E9=A2=9C?= =?UTF-8?q?=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用浏览器实测双主题后的修正: - 看板情绪雷达 (SVG): 网格/中心渐变/描边从写死的深 slate 色改为 hsl(var(--surface/elevated/border)) CSS 变量, 亮暗自动切换 (亮色下原来是一块突兀的深色六边形) - 回测统计卡: 中性值文字写死近白色 #f8fafc → inherit (亮色下不可见) - ExtDimensionAnalysis 装饰图形 white/xx → foreground/xx - 情绪页图表: 折线补 itemStyle, 图例色块与线色一致 (原用 ECharts 默认调色板, 与线对不上, 双主题都存在的旧瑕疵) 实测覆盖: 看板/个股分析(K线)/市场情绪 亮暗双向切换 + 刷新持久化 (预渲染脚本生效, body 背景 #FAFAFA), 暗色无回归 --- frontend/src/components/ExtDimensionAnalysis.tsx | 4 ++-- frontend/src/pages/Dashboard.tsx | 15 ++++++++------- frontend/src/pages/backtest/StrategyBacktest.tsx | 5 +++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/ExtDimensionAnalysis.tsx b/frontend/src/components/ExtDimensionAnalysis.tsx index 30b04cf..7d5de5e 100644 --- a/frontend/src/components/ExtDimensionAnalysis.tsx +++ b/frontend/src/components/ExtDimensionAnalysis.tsx @@ -296,8 +296,8 @@ export function ExtDimensionAnalysis({ 页面按分析菜单配置读取扩展数据源,使用分组字段生成榜单,并严格按照 detail_columns 渲染明细列。

-
- +
+
diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx index c5e8ee4..9dd9235 100644 --- a/frontend/src/pages/Dashboard.tsx +++ b/frontend/src/pages/Dashboard.tsx @@ -325,24 +325,25 @@ function EmotionRadar({ radar, score }: { radar: OverviewMarket['radar']; score: + {/* 中心/网格用 CSS 变量取色, 亮暗主题自动切换 (SVG 属性支持 hsl(var(--x))) */} - - - + + + {gridPolygons.map(g => ( ))} - {points.map(p => )} + {points.map(p => )} - {points.map(p => )} + {points.map(p => )} {score} {points.map(p => ( diff --git a/frontend/src/pages/backtest/StrategyBacktest.tsx b/frontend/src/pages/backtest/StrategyBacktest.tsx index bc951c5..30f89b1 100644 --- a/frontend/src/pages/backtest/StrategyBacktest.tsx +++ b/frontend/src/pages/backtest/StrategyBacktest.tsx @@ -186,7 +186,8 @@ const fmtLots = (v: number | null | undefined) => { } const statValueColor = (v: number | null | undefined) => { - if (v == null || Number.isNaN(v) || v === 0) return '#f8fafc' + // 中性值继承页面前景色 (亮暗主题都可读), 不再写死近白色 + if (v == null || Number.isNaN(v) || v === 0) return 'inherit' return v > 0 ? '#f87171' : '#34d399' } @@ -383,7 +384,7 @@ function Stat({ label, value, color }: { label: ReactNode; value: string; color?
{label}
{value}