fix(instance): light-theme P/L colors, AI review panels, bot stats

Restore plan floating P/L and st-done greens; fix panel-item and stats-split-col in light mode; observe journal lists; bump theme assets to v3.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-04 13:07:00 +08:00
parent be3ce18665
commit 21b3e97571
20 changed files with 165 additions and 37 deletions
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<meta name="theme-color" content="#0b0d14">
<meta name="apple-mobile-web-app-title" content="监控">
@@ -231,7 +231,7 @@
.stats-period-block h3{font-size:1rem;color:#dbe4ff;margin-bottom:4px}
.stats-period-block .sub{font-size:.78rem;color:#8892b0;margin-bottom:10px;line-height:1.4}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body data-page="{{ page }}">
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>{{ exchange_display }} | 关键位放大</title>
<style>
@@ -24,7 +24,7 @@
#chart{width:100%;height:100%}
.exchange-tag{font-size:.72rem;font-weight:600;color:#b8f5d0;background:#14241e;border:1px solid #2d6a4f;padding:4px 10px;border-radius:999px;margin-left:8px}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>登录 · {{ exchange_display }}</title>
<style>
@@ -94,7 +94,7 @@
font-weight: 600;
}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<div class="login-theme-bar">
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>{{ exchange_display }} | 实盘下单放大</title>
<style>
@@ -25,7 +25,7 @@
.empty{padding:18px;color:#95a2c2}
.exchange-tag{font-size:.72rem;font-weight:600;color:#b8f5d0;background:#14241e;border:1px solid #2d6a4f;padding:4px 10px;border-radius:999px;margin-left:8px}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<meta name="theme-color" content="#0b0d14">
<meta name="apple-mobile-web-app-title" content="监控">
@@ -231,7 +231,7 @@
.stats-period-block h3{font-size:1rem;color:#dbe4ff;margin-bottom:4px}
.stats-period-block .sub{font-size:.78rem;color:#8892b0;margin-bottom:10px;line-height:1.4}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body data-page="{{ page }}">
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>{{ exchange_display }} | 关键位放大</title>
<style>
@@ -24,7 +24,7 @@
#chart{width:100%;height:100%}
.exchange-tag{font-size:.72rem;font-weight:600;color:#b8f5d0;background:#14241e;border:1px solid #2d6a4f;padding:4px 10px;border-radius:999px;margin-left:8px}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>登录 · {{ exchange_display }}</title>
<style>
@@ -94,7 +94,7 @@
font-weight: 600;
}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<div class="login-theme-bar">
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>{{ exchange_display }} | 实盘下单放大</title>
<style>
@@ -25,7 +25,7 @@
.empty{padding:18px;color:#95a2c2}
.exchange-tag{font-size:.72rem;font-weight:600;color:#b8f5d0;background:#14241e;border:1px solid #2d6a4f;padding:4px 10px;border-radius:999px;margin-left:8px}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<meta name="theme-color" content="#0b0d14">
<meta name="apple-mobile-web-app-title" content="监控">
@@ -211,7 +211,7 @@
.stats-split-row{grid-template-columns:1fr}
}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>{{ exchange_display }} | 关键位放大</title>
<style>
@@ -24,7 +24,7 @@
#chart{width:100%;height:100%}
.exchange-tag{font-size:.72rem;font-weight:600;color:#b8f5d0;background:#14241e;border:1px solid #2d6a4f;padding:4px 10px;border-radius:999px;margin-left:8px}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>登录 · {{ exchange_display }}</title>
<style>
@@ -94,7 +94,7 @@
font-weight: 600;
}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<div class="login-theme-bar">
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>{{ exchange_display }} | 实盘下单放大</title>
<style>
@@ -25,7 +25,7 @@
.empty{padding:18px;color:#95a2c2}
.exchange-tag{font-size:.72rem;font-weight:600;color:#b8f5d0;background:#14241e;border:1px solid #2d6a4f;padding:4px 10px;border-radius:999px;margin-left:8px}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<meta name="theme-color" content="#0b0d14">
<meta name="apple-mobile-web-app-title" content="监控">
@@ -231,7 +231,7 @@
.stats-period-block h3{font-size:1rem;color:#dbe4ff;margin-bottom:4px}
.stats-period-block .sub{font-size:.78rem;color:#8892b0;margin-bottom:10px;line-height:1.4}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body data-page="{{ page }}">
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>关键位放大 | K线查看</title>
<style>
@@ -23,7 +23,7 @@
#chart-wrap{height:580px;background:#0f1320;border:1px solid #2a3150;border-radius:10px;padding:8px}
#chart{width:100%;height:100%}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>系统登录</title>
<style>
@@ -84,7 +84,7 @@
font-size: 0.85rem;
}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<div class="login-theme-bar">
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<title>实盘下单放大 | 100根K线</title>
<style>
@@ -24,7 +24,7 @@
#chart{width:100%;height:100%}
.empty{padding:18px;color:#95a2c2}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
</head>
<body>
+2 -2
View File
@@ -8,8 +8,8 @@ ROOT = Path(__file__).resolve().parents[1]
EXCHANGES = ("crypto_monitor_binance", "crypto_monitor_okx", "crypto_monitor_gate", "crypto_monitor_gate_bot")
FILES = ("index.html", "login.html", "key_focus_v2.html", "order_focus_v2.html")
SCRIPT_TAG = ' <script src="/static/instance_theme.js?v=2"></script>\n'
CSS_LINK = ' <link rel="stylesheet" href="/static/instance_theme.css?v=2">\n'
SCRIPT_TAG = ' <script src="/static/instance_theme.js?v=3"></script>\n'
CSS_LINK = ' <link rel="stylesheet" href="/static/instance_theme.css?v=3">\n'
THEME_TOGGLE = """ <div class="theme-toggle instance-theme-toggle" role="group" aria-label="界面主题">
<button type="button" class="theme-toggle-btn is-active" data-theme-value="dark" aria-pressed="true" title="暗色主题">
+108 -1
View File
@@ -312,10 +312,34 @@ html[data-theme="light"] .plan-card-title,
html[data-theme="light"] .sr-panel-title,
html[data-theme="light"] .sr-summary .sr-sym,
html[data-theme="light"] .sr-detail-grid .val,
html[data-theme="light"] .plan-cell .val {
html[data-theme="light"] .plan-cell .val:not(.pnl-profit):not(.pnl-loss) {
color: #142232 !important;
}
html[data-theme="light"] .plan-cell .val.pnl-profit,
html[data-theme="light"] .pnl-profit {
color: #087a50 !important;
font-weight: 600 !important;
}
html[data-theme="light"] .plan-cell .val.pnl-loss,
html[data-theme="light"] .pnl-loss {
color: #c03030 !important;
font-weight: 600 !important;
}
html[data-theme="light"] .plan-dca-table td.st-done,
html[data-theme="light"] .plan-dca-table .st-done,
html[data-theme="light"] .sr-dca-table .st-done {
color: #087a50 !important;
font-weight: 600 !important;
}
html[data-theme="light"] .plan-dca-table .st-pending,
html[data-theme="light"] .sr-dca-table .st-pending {
color: #6a7588 !important;
}
html[data-theme="light"] .strategy-records-tip,
html[data-theme="light"] .plan-card-meta,
html[data-theme="light"] .plan-cell .lbl,
@@ -419,3 +443,86 @@ html[data-theme="light"] .strategy-trading-grid .card,
html[data-theme="light"] .dual-panel-grid .card {
background: #fff !important;
}
/* ── AI 复盘(panel-list / ai-result)── */
html[data-theme="light"] .panel-item {
background: #fff !important;
border-color: #b8c8d8 !important;
color: #1a2838 !important;
}
html[data-theme="light"] .panel-item strong {
color: #142232 !important;
}
html[data-theme="light"] .panel-item .entry {
border-bottom-color: #d0dae4 !important;
color: #1a2838 !important;
}
html[data-theme="light"] .panel-item .entry div {
color: #4a6078 !important;
}
html[data-theme="light"] .ai-result {
background: #f6f9fc !important;
border-color: #b8c8d8 !important;
color: #1a2838 !important;
}
html[data-theme="light"] .ai-result-md p,
html[data-theme="light"] .detail-modal .panel-body.md-review p {
color: #1a2838 !important;
}
html[data-theme="light"] .ai-result-md strong,
html[data-theme="light"] .detail-modal .panel-body.md-review strong {
color: #142232 !important;
}
html[data-theme="light"] .ai-result-md h2,
html[data-theme="light"] .detail-modal .panel-body.md-review h2 {
color: #142232 !important;
border-bottom-color: #d0dae4 !important;
}
html[data-theme="light"] .ai-result-md h3,
html[data-theme="light"] .detail-modal .panel-body.md-review h3 {
color: #006e9a !important;
}
html[data-theme="light"] .ai-result-md code,
html[data-theme="light"] .detail-modal .panel-body.md-review code {
background: #eef3f8 !important;
color: #142232 !important;
}
html[data-theme="light"] .ai-result-md .md-raw-block-title,
html[data-theme="light"] .detail-modal .panel-body.md-review .md-raw-block-title {
color: #4a6078 !important;
border-top-color: #d0dae4 !important;
}
/* ── Gate Bot 统计分栏(机器人 / 趋势回调)── */
html[data-theme="light"] .stats-split-col {
background: #fff !important;
border-color: #b8c8d8 !important;
}
html[data-theme="light"] .stats-split-head {
color: #142232 !important;
border-bottom-color: #d0dae4 !important;
}
html[data-theme="light"] .stats-split-col .stat-item {
background: #f6f9fc !important;
border-color: #d0dae4 !important;
}
html[data-theme="light"] .stats-split-col .stat-item .label {
color: #4a6078 !important;
}
html[data-theme="light"] .stats-split-col .stat-item .value {
color: #142232 !important;
}
+21
View File
@@ -73,7 +73,15 @@
"#8fc8ff": "#006e9a",
"#6ab8ff": "#006e9a",
"#6eb5ff": "#006e9a",
"#101522": "#ffffff",
"#121726": "#ffffff",
"#141423": "#ffffff",
"#24243b": "#b8c8d8",
"#252a45": "#b8c8d8",
"#252538": "#eef3f8",
"#1a1a29": "#f6f9fc",
"#2e2e45": "#b8c8d8",
"#2b2b43": "#d0dae4",
"#151a2a": "#eef3f8",
"#141a2a": "#ffffff",
"#141923": "#ffffff",
@@ -196,9 +204,22 @@
} else {
apply(getStandalone());
}
function observeDynamicLists() {
["journal-list", "review-list"].forEach((id) => {
const el = document.getElementById(id);
if (!el || el.dataset.instThemeObserved === "1") return;
el.dataset.instThemeObserved = "1";
new MutationObserver(() => syncInlineStyles(get())).observe(el, {
childList: true,
subtree: true,
});
});
}
const onReady = () => {
initToggleUI();
syncInlineStyles(get());
observeDynamicLists();
};
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", onReady);
+2 -2
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN" data-theme="dark">
<head>
<meta charset="UTF-8">
<script src="/static/instance_theme.js?v=2"></script>
<script src="/static/instance_theme.js?v=3"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>顺势加仓 · {{ exchange_display }}</title>
<style>
@@ -20,7 +20,7 @@
table{width:100%;border-collapse:collapse;font-size:.82rem}
th,td{border-bottom:1px solid #2a3150;padding:6px 8px;text-align:left}
</style>
<link rel="stylesheet" href="/static/instance_theme.css?v=2">
<link rel="stylesheet" href="/static/instance_theme.css?v=3">
<meta name="theme-color" content="#0b0d14">
</head>
<body>