feat: add hub fund overview tab with 180-day equity curves

Add /funds page for total and per-account balance (funding+trading), drawdown, and daily snapshots from monitor board aggregation.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-10 16:50:47 +08:00
parent 6eb17b7ddc
commit 77c7bbbb13
14 changed files with 1069 additions and 112 deletions
+129
View File
@@ -4428,6 +4428,135 @@ body.hub-page-ai #page-ai {
opacity: 0.65;
}
/* —— 资金概况 —— */
.funds-toolbar {
margin-bottom: 12px;
}
.funds-status.err {
color: var(--red);
}
.funds-summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 12px;
margin-bottom: 10px;
}
.funds-stat-card {
background: var(--panel);
border: 1px solid var(--border-soft);
border-radius: var(--radius);
padding: 12px 14px;
}
.funds-stat-label {
font-size: 0.75rem;
color: var(--muted);
margin-bottom: 4px;
}
.funds-stat-value {
font-size: 1.35rem;
font-weight: 600;
font-variant-numeric: tabular-nums;
}
.funds-stat-val {
font-size: 1.1rem;
font-weight: 600;
font-variant-numeric: tabular-nums;
}
.funds-stat-val.pos {
color: var(--green);
}
.funds-stat-val.neg {
color: var(--red);
}
.funds-dd-pct {
font-size: 0.82rem;
color: var(--muted);
font-weight: 500;
}
.funds-meta {
font-size: 0.78rem;
color: var(--muted);
margin: 0 0 12px;
}
.funds-chart-host {
height: 280px;
min-height: 220px;
border: 1px solid var(--border-soft);
border-radius: var(--radius);
background: var(--chart-surface, var(--panel));
margin-bottom: 18px;
overflow: hidden;
}
.funds-section-title {
margin: 0 0 10px;
font-size: 0.95rem;
font-weight: 600;
}
.funds-accounts {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 12px;
}
.funds-ac-card {
background: var(--panel);
border: 1px solid var(--border-soft);
border-radius: var(--radius);
padding: 12px 14px;
display: flex;
flex-direction: column;
gap: 8px;
}
.funds-ac-card.is-off {
opacity: 0.72;
}
.funds-ac-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.funds-ac-head h3 {
margin: 0;
font-size: 0.92rem;
}
.funds-ac-badge {
font-size: 0.68rem;
padding: 2px 8px;
border-radius: 999px;
border: 1px solid var(--border-soft);
color: var(--muted);
}
.funds-ac-stats {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px 10px;
font-size: 0.78rem;
}
.funds-ac-stats .k {
color: var(--muted);
margin-right: 6px;
}
.funds-ac-stats .v {
font-variant-numeric: tabular-nums;
}
.funds-ac-chart {
height: 72px;
min-height: 72px;
border-radius: 6px;
background: var(--inset-surface);
font-size: 0.72rem;
color: var(--muted);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.funds-empty {
color: var(--muted);
font-size: 0.85rem;
padding: 12px 0;
}
/* —— 币种档案 —— */
.archive-toolbar {
flex-wrap: wrap;