thread-master/docs/product/demand-radar/tasks/T503-fe-radar-css-shell-tok...

70 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

2026-08-03 05:52:02 +00:00
# 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 守門),後續 radarcrm 樣式一律不進 `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
- [x] `npm run check:tokens` 通過(`radar.css` 無硬編碼色值)
- [x] 建置產物含新樣式,既有頁面外觀無變化(一處例外見 Notes
- [x] 指令:
```bash
cd apps/web && npm run check:tokens && npm run build
```
## Notes2026-07-31
`src/styles/radar.css` 依交付順序分區共用M1M2M3M4M5M6只放骨架與版面
文案與元件結構跟著各 FE task 進來。`main.tsx` 在 `global.css` 之後匯入。
### 順手修掉一個擋門的既有錯字
`npm run check:tokens` **在本 task 之前就是紅的**,不是 `radar.css` 造成的:
```text
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`,兩種都能過門。