thread-master/docs/product/brand-product-radar/tasks/T761-live-product-radar-pag...

50 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2026-08-13 02:22:24 +00:00
# T761 — live product radar pages states
> Status: `done`
> Milestone: `M6` · Phase C
> Kind: `feat` · Est. change: `~190 lines`
## Goal
Phase B 頁面切到 live repository 後保持相同操作,並完整呈現產品失效、無 eligible 與 API 錯誤。
## Depends on
- T713、T721T724、T760
## Inputs
- Radar watches/today/opportunities pages
- `apps/web/src/lib/apiErrors.ts`
- `../spec.md` §5.3、§5.4
## Outputs
| 路徑 | 動作 | 說明 |
|------|------|------|
| Radar pages/components | edit | live loading/mutation/refresh/error states |
| `apps/web/src/pages/BrandsPage.tsx` | edit | delete impact/live failure refresh |
| page tests | edit | not-ready/forbidden/unavailable/no-eligible/legacy |
| i18n messages | edit | TCEN 完整錯誤與下一步 |
## Behavior
- URL filters refresh 後不丟失。
- delete 後 watch 顯示 pause reason舊商機顯示 snapshot 名稱。
- 錯誤不變成 0 resultsmutation 失敗不做 optimistic 成功。
## Out of scope
- 後端 business changes
- CRM/outcome 深化T771/T772
## Acceptance
- [x] spec #9#11 live-shaped tests 通過刪除影響、legacy snapshot、no-eligible 與 API 錯誤皆保留可辨識狀態。
- [x] URL filters 在 refresh 後保留live error 不轉成空結果或假成功。
- [x] `npm run test -- --run` 23 files139 tests、`npm run build`、`npm run lint`、`npm run check:tokens` 通過。
```bash
cd apps/web && npm run test && npm run build && npm run lint && npm run check:tokens
```