feat(core): Wave 1 part2 — 双主题清污染/mono分级/富分页器/hero字重

S1 双主题: styles.css Dashboard 区(.recent-row/.shortcut/.tip)迁入 design-restraint.css,
  暖米旧 token→restraint(--orange→--heat 等);修 .queue-chip svg --ink-3→--black-alpha-56。
  实测 .shortcut .ic 橙 = rgb(250,93,25)=--heat(原泄漏成暖橙 #E55B26)
S2 mono: design-restraint.css 加 .mono-10/11/12(10.5/11/11.5px)工具类(逐页应用并入 Wave 4)
S7 分页器: pager.tsx 加可选 onPageSizeChange(条数循环)/跳页输入/sticky,旧调用方零破坏;
  CSS 加 .size-cycle/.jump/.sticky(接线 products/library + 服务端分页放 Wave 3)
S8 hero 字重: 核 V1 实测 account/team hero 数字均 font-weight:700 → account 3 处 + team 2 处
  改 700(据实还原 V1 标准答案;记录与 design.md §2.5 的内部不一致)

S6 批量栏共享挪 Wave 3(与 projects/library 重建一起做)

验证: tsc 0 · build 0 · computed-style 橙=heat/字重=700 · pixelmatch account 1.23%/team 2.13%
  · 14 路由回归 boot 0 报错 · 登录 639ms

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
seaislee1209
2026-06-19 04:07:34 +08:00
co-authored by Claude Opus 4.8
parent 74e3c818c5
commit 42c3c046ea
7 changed files with 177 additions and 50 deletions
+62 -1
View File
@@ -519,7 +519,7 @@ main { position: relative; background: var(--background-base); min-width: 0; }
}
.queue-chip:hover { background: var(--black-alpha-4); border-color: var(--black-alpha-24); }
.queue-chip[hidden] { display: none; }
.queue-chip svg { width: var(--icon-m); height: var(--icon-m); color: var(--ink-3); }
.queue-chip svg { width: var(--icon-m); height: var(--icon-m); color: var(--black-alpha-56); }
.queue-chip .count {
display: inline-flex; align-items: center; justify-content: center;
height: 20px; min-width: 20px; padding: 0 6px;
@@ -1510,6 +1510,29 @@ select.duration-select:focus,
.list-pager .pages button:disabled { opacity: .4; cursor: not-allowed; }
.list-pager .pages .ellipsis { min-width: 22px; height: 28px; display: inline-flex; align-items: center; justify-content: center; color: var(--black-alpha-48); }
.list-pager .page-size { font-family: var(--font-mono); letter-spacing: .02em; }
/* S7 富分页器:跳页输入 + 每页条数循环按钮 + 吸底变体 */
.list-pager .jump { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); letter-spacing: .02em; color: var(--black-alpha-56); }
.list-pager .jump input {
width: 46px; height: 28px; text-align: center;
border: 1px solid var(--border-faint); background: var(--surface);
border-radius: var(--r-sm); font-family: var(--font-mono); font-size: 12px; color: var(--accent-black);
-moz-appearance: textfield; appearance: textfield;
}
.list-pager .jump input:focus { border-color: var(--heat-40); outline: none; }
.list-pager .jump input::-webkit-outer-spin-button,
.list-pager .jump input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.list-pager .size-cycle {
height: 28px; padding: 0 10px;
border: 1px solid var(--border-faint); background: var(--surface);
border-radius: var(--r-sm); cursor: pointer;
transition: border-color var(--t-base), color var(--t-base);
}
.list-pager .size-cycle:hover { border-color: var(--black-alpha-32); color: var(--accent-black); }
.list-pager.sticky {
position: sticky; bottom: 0;
margin-top: 0; background: var(--background-base);
padding-bottom: 14px; z-index: 10;
}
/* 音频试听面板:灯箱内居中,音符 + 原生播放器 */
.np-lightbox .lb-audio {
@@ -2341,3 +2364,41 @@ table.t tbody tr:hover { background: var(--black-alpha-4); }
z-index: 5;
position: relative;
}
/* ─── Dashboard(S1 · 迁自 styles.css,暖米旧 token → restraint token,清双主题污染)─── */
.dash-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 24px; align-items: start; }
.dash-side { display: flex; flex-direction: column; gap: 24px; }
.recent-row {
display: grid;
/* 缩略图 | 标题(吃满剩余) | 进度条(固定) | 状态(固定列,左对齐对齐成列) | 按钮(固定) */
grid-template-columns: 54px minmax(0, 1fr) max-content 116px 68px;
align-items: center;
gap: 16px;
padding: 14px 18px;
border-bottom: 1px solid var(--border-faint);
cursor: pointer;
width: 100%;
text-align: left;
background: transparent;
}
.recent-row > .pill { justify-self: start; }
.recent-row > .btn-sm { justify-self: end; }
.recent-row:last-child { border-bottom: 0; }
.recent-row:hover { background: var(--black-alpha-4); }
.recent-row .thumb { width: 54px; height: 70px; }
.recent-meta .name { font-weight: 600; font-size: 14px; color: var(--accent-black); }
.recent-meta .sub { font-size: 12px; color: var(--black-alpha-48); margin-top: 3px; font-family: var(--font-mono); letter-spacing: .01em; }
.shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.shortcut { background: var(--surface); border: 1px solid var(--border-faint); border-radius: var(--r-md); padding: 14px; display: flex; align-items: flex-start; gap: 11px; cursor: pointer; text-align: left; transition: background var(--t-base), border-color var(--t-base); }
.shortcut:hover { background: var(--black-alpha-4); }
.shortcut .ic { width: 30px; height: 30px; background: var(--heat-12); color: var(--heat); display: grid; place-items: center; border: 1px solid var(--heat-20); border-radius: var(--r-sm); flex-shrink: 0; }
.shortcut .t { font-size: 13px; font-weight: 600; }
.shortcut .d { font-size: 12px; color: var(--black-alpha-48); margin-top: 2px; font-family: var(--font-mono); letter-spacing: .01em; }
.tip { background: var(--surface); border: 1px dashed var(--border-faint); border-radius: var(--r-md); padding: 14px 16px; font-size: 13px; color: var(--black-alpha-64); line-height: 1.6; }
.tip strong { color: var(--accent-black); font-weight: 600; display: block; margin-bottom: 4px; }
/* ─── Mono 装饰字号分级工具类(S2 · 把被统一抬到 12px 的 mono 收回 V1 分级)─── */
/* 叠加在既有 mono 元素上只改字号:.mono-10 = 10.5px / .mono-11 = 11px / .mono-12 = 11.5px */
.mono-10 { font-size: 10.5px; letter-spacing: .04em; }
.mono-11 { font-size: 11px; letter-spacing: .04em; }
.mono-12 { font-size: 11.5px; letter-spacing: .04em; }