feat: apply B-147 visual tokens to remaining market data pages

Unify ladder, themes, rotation, auction, dragon-tiger and popularity with shared tokens, left-aligned first columns, and table density.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
MS-01-Codex
2026-08-20 04:34:36 +08:00
co-authored by Cursor multica-agent
parent 6ab910eeea
commit ad08d309c6
16 changed files with 279 additions and 215 deletions
+35 -24
View File
@@ -184,15 +184,15 @@
padding: 9px 13px;
border-bottom-color: rgb(231, 235, 239);
border-bottom-color: var(--border);
}
.theme-directory-item:hover {
background: rgb(241, 246, 251);
background: var(--hover);
}
.theme-directory-item.active {
background: rgb(234, 242, 251);
background: var(--selected);
box-shadow: inset 3px 0 var(--action);
}
@@ -294,6 +294,10 @@
margin: 0px;
color: var(--r2-ink);
font-size: var(--font-size-page-title);
font-weight: var(--font-weight-semibold);
}
.theme-title-v2 > div > span {
@@ -331,7 +335,7 @@
.theme-search-v2 {
width: 250px;
height: 34px;
height: 32px;
display: flex;
@@ -341,9 +345,9 @@
padding: 0px 10px;
border: 1px solid var(--control-border);
border: 1px solid var(--border-strong);
border-radius: 7px;
border-radius: 8px;
background: var(--surface);
@@ -389,11 +393,15 @@
}
.theme-refresh-v2 {
min-height: 34px;
min-height: 32px;
height: 32px;
padding: 0px 12px;
border-radius: 7px;
border-radius: 8px;
font-size: var(--font-size-label);
}
.theme-refresh-v2 .lucide {
@@ -441,17 +449,17 @@
}
.theme-summary-v2 span {
color: var(--r2-sub);
color: var(--text-3);
font-size: 11px;
font-size: var(--font-size-caption);
}
.theme-summary-v2 strong {
color: var(--r2-ink);
font-size: 19px;
font-size: var(--font-size-metric);
font-weight: var(--font-weight-bold);
font-weight: var(--font-weight-semibold);
font-variant-numeric: tabular-nums;
}
@@ -527,9 +535,9 @@
color: var(--r2-ink);
font-size: 14px;
font-size: var(--font-size-card-title);
font-weight: 700;
font-weight: var(--font-weight-semibold);
}
.theme-card-head-v2 span {
@@ -1028,9 +1036,9 @@
z-index: 2;
height: 34px;
height: 36px;
padding: 6px 11px;
padding: 0 12px;
border-bottom-color: var(--r2-line);
@@ -1038,15 +1046,20 @@
color: var(--r2-sub);
font-size: 10.5px;
font-size: var(--font-size-caption);
}
.theme-members-table-v2 tbody td {
height: 39px;
height: 40px;
padding: 7px 11px;
padding: 0 12px;
font-size: 11.5px;
font-size: var(--font-size-table);
}
.theme-members-table-v2 thead th:first-child,
.theme-members-table-v2 tbody td:first-child {
text-align: left;
}
.theme-members-table-v2 tbody tr {
@@ -1184,11 +1197,9 @@
}
.theme-members-table-v2 tbody td {
height: 35px;
height: 40px;
padding-top: 5px;
padding-bottom: 5px;
padding: 0 12px;
}
}
+1 -1
View File
@@ -46,7 +46,7 @@
<strong id="themeMemberCount">0 只</strong>
</header>
<div class="theme-members-frame-v2 tbl-wrap">
<table class="data-table tbl theme-members-table-v2"><thead><tr><th class="num">序号</th><th>股票</th><th class="number num sortable">涨跌幅(%<span class="arr"></span></th><th class="number num sortable">收盘价(元)<span class="arr"></span></th><th class="number num sortable">成交额(亿)<span class="arr"></span></th></tr></thead><tbody id="themeMemberTableBody"></tbody></table>
<table class="data-table tbl theme-members-table-v2"><thead><tr><th class="row-number">序号</th><th>股票</th><th class="number num sortable">涨跌幅(%<span class="arr"></span></th><th class="number num sortable">收盘价(元)<span class="arr"></span></th><th class="number num sortable">成交额(亿)<span class="arr"></span></th></tr></thead><tbody id="themeMemberTableBody"></tbody></table>
</div>
</section>
</div>
+1 -1
View File
@@ -97,7 +97,7 @@ function renderThemeDetail() {
setText("themeMemberCount", `有行情 ${number(summary.quoted_count)} / ${number(summary.member_count)}`);
const body = document.querySelector("#themeMemberTableBody");
body.innerHTML = (payload.members || []).map((row, index) => `
<tr data-code="${escapeHtml(row.code)}"><td class="row-number num muted">${index + 1}</td>
<tr data-code="${escapeHtml(row.code)}"><td class="row-number muted">${index + 1}</td>
<td><span class="stock-cell"><strong class="stock-name sname">${escapeHtml(row.name)}</strong><small class="stock-code scode">${escapeHtml(row.code)}</small></span></td>
<td class="number num ${changeClass(row.change)}">${row.has_quote ? signed(row.change) : ""}</td>
<td class="number num">${row.has_quote ? formatNumber(row.price, 2) : ""}</td><td class="number num">${row.has_quote ? formatNumber(row.amount_billion, 2) : ""}</td></tr>`).join("");