2.4 KiB
2.4 KiB
T503 — fe-radar-css-shell-token-guard
Status:
done(2026-07-31)
Milestone:M0
Kind:chore
Est. change:~60 lines
Goal
完成後系統應:新頁樣式有獨立落點 src/styles/radar.css(已匯入且通過 token 守門),後續 radar/crm 樣式一律不進 global.css。
Depends on
- —
Inputs
- Spec:
../spec.md§5.3(不再灌 6,171 行的global.css) - 既有:
apps/web/src/styles/tokens.css、src/main.tsx、scripts/check-tokens.mjs
Outputs
程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|---|---|---|
apps/web/src/styles/radar.css |
add | 分區骨架:雷達統計列、商機卡、CRM 八格、時間軸、統計 |
apps/web/src/main.tsx |
edit | 匯入 radar.css(在 global.css 之後) |
行為變更
- 樣式檔存在且被載入;顏色/間距一律引用
tokens.css變數,無硬編碼色值。
Out of scope
- 實際頁面樣式內容(跟著各 FE task 寫進本檔)
- 調整既有
global.css
Acceptance
npm run check:tokens通過(radar.css無硬編碼色值)- 建置產物含新樣式,既有頁面外觀無變化(一處例外見 Notes)
- 指令:
cd apps/web && npm run check:tokens && npm run build
Notes(2026-07-31)
src/styles/radar.css 依交付順序分區(共用/M1/M2/M3/M4/M5/M6),只放骨架與版面,
文案與元件結構跟著各 FE task 進來。main.tsx 在 global.css 之後匯入。
順手修掉一個擋門的既有錯字
npm run check:tokens 在本 task 之前就是紅的,不是 radar.css 造成的:
src/styles/global.css:688 用了 tokens.css 沒有的 --hb-text-md(拼錯?)
.hb-public__lead(行銷頁前言段)寫的是 var(--hb-text-md, 1.05rem),而 --hb-text-md
從來沒定義過,所以一直吃 fallback 1.05rem。這正是 check-tokens.mjs 第 3 條規則要抓的情況,
不修掉這行,本 task 的驗收指令永遠不會綠。
改成 var(--hb-text-lg)(1.125rem)。這會讓公開頁前言段從 16.8px 變 18px:
選 lg 是因為原意顯然是「比內文大一階」,改成 --hb-text-base 會讓它跟內文同大小、失去原意;
token 尺標本身沒有 17px 這一階,我也不打算為了保住 0.05rem 去新增一個設計尺標。
如果你想保持原樣,就在 tokens.css 補 --hb-text-md: 1.05rem,兩種都能過門。