fix(factor): 详情页/因子选择器补 fundamental teal 类别样式 [nas]

- LeaderboardDetail.vue categoryClass 映射+cat-fundamental chip 样式
- FactorPicker.vue cat-fundamental chip+sel-fundamental 选中态
  (该页无裸 .fxp.sel 兜底,不补则选中财务因子无高亮)
- npm run build(vue-tsc -b && vite build)全绿

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
2026-09-08 09:30:14 +08:00
parent 977cebb2aa
commit 42c8240dc7
2 changed files with 9 additions and 0 deletions
@@ -166,6 +166,7 @@ defineExpose({ hydrate })
.cat-alpha158 { color: var(--purple-dim); background: rgba(180,140,255,.1); border-color: rgba(180,140,255,.3); }
.cat-builtin { color: var(--amber); background: rgba(255,176,0,.1); border-color: rgba(255,176,0,.3); }
.cat-custom { color: var(--text-2); background: rgba(122,138,154,.1); border-color: rgba(122,138,154,.3); }
.cat-fundamental { color: var(--teal); background: rgba(45,212,191,.1); border-color: rgba(45,212,191,.3); }
.grid { display: flex; flex-wrap: wrap; gap: 5px; }
.fxp { font-family: var(--mono); font-size: 11px; padding: 2px 9px; border-radius: var(--r-sm); border: 1px solid var(--border); background: var(--panel); color: var(--text-2); cursor: pointer; transition: all .12s ease; user-select: none; }
.fxp:hover { color: var(--text); border-color: var(--text-3); }
@@ -173,6 +174,7 @@ defineExpose({ hydrate })
.fxp.sel.sel-alpha158 { color: var(--purple-dim); border-color: rgba(180,140,255,.45); background: rgba(180,140,255,.12); }
.fxp.sel.sel-builtin { color: var(--amber); border-color: rgba(255,176,0,.45); background: var(--amber-soft); }
.fxp.sel.sel-custom { color: var(--text); border-color: var(--text-3); background: var(--bg-hover); }
.fxp.sel.sel-fundamental { color: var(--teal); border-color: rgba(45,212,191,.45); background: rgba(45,212,191,.12); }
.picked { display: flex; align-items: center; gap: 8px; margin-top: 12px; border: 1px dashed rgba(0,229,255,.3); background: rgba(0,229,255,.04); border-radius: var(--r-md); padding: 8px 12px; flex-wrap: wrap; min-height: 38px; }
.pk { font-family: var(--mono); font-size: 10.5px; color: var(--brand); letter-spacing: .1em; white-space: nowrap; }
.chips { display: flex; gap: 5px; flex-wrap: wrap; flex: 1; }
@@ -326,6 +326,7 @@ const categoryClass = computed(() => {
alpha101: 'cat-alpha101',
alpha158: 'cat-alpha158',
builtin: 'cat-builtin',
fundamental: 'cat-fundamental',
}
return map[detail.value.category] || 'cat-builtin'
})
@@ -750,6 +751,12 @@ function pct(val: number | null | undefined): string {
border-color: rgba(255, 176, 0, 0.3);
}
.cat-fundamental {
color: var(--teal);
background: rgba(45, 212, 191, 0.1);
border-color: rgba(45, 212, 191, 0.3);
}
.st {
display: inline-flex;
align-items: center;