62 lines
1.9 KiB
Markdown
62 lines
1.9 KiB
Markdown
|
|
# T812 — inbox card detail and actions
|
|||
|
|
|
|||
|
|
> Status: `done`
|
|||
|
|
> Milestone: `M1`
|
|||
|
|
> Est. change: `~190 lines`
|
|||
|
|
|
|||
|
|
## Goal
|
|||
|
|
|
|||
|
|
完成後卡片首層只呈現問題、主推產品、主要證據、分數/時間與完成/移除;完整理由、回覆、CRM 位於詳情層。
|
|||
|
|
|
|||
|
|
## Depends on
|
|||
|
|
|
|||
|
|
- T810、T811
|
|||
|
|
|
|||
|
|
## Inputs
|
|||
|
|
|
|||
|
|
- `apps/web/src/pages/RadarOpportunitiesPage.tsx`
|
|||
|
|
- `apps/web/src/components/radar/**`
|
|||
|
|
- Spec §6.1–§6.2、驗收 #2–#5
|
|||
|
|
|
|||
|
|
## Outputs
|
|||
|
|
|
|||
|
|
### 程式變更(預期路徑)
|
|||
|
|
|
|||
|
|
| 路徑 | 動作 | 說明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `apps/web/src/components/radar/OpportunityInboxCard.tsx` | add | 首層卡片與 actions |
|
|||
|
|
| `apps/web/src/components/radar/OpportunityDetailDrawer.tsx` | add | 證據、風險、產品匹配與既有操作 |
|
|||
|
|
| `apps/web/src/pages/RadarOpportunitiesPage.tsx` | edit | 接 card、drawer、狀態更新 |
|
|||
|
|
| `apps/web/src/styles/radar.css` | edit | 卡片層級與 mobile 操作區 |
|
|||
|
|
|
|||
|
|
### 行為變更
|
|||
|
|
|
|||
|
|
- 完成不建立 Contact;accept 成功才走既有 CRM binding 並同步完成。
|
|||
|
|
- 移除需要原因,成功後提供復原。
|
|||
|
|
|
|||
|
|
### API / 契約(若有)
|
|||
|
|
|
|||
|
|
- 所有 action 透過 RadarRepo;錯誤時保留原卡片狀態。
|
|||
|
|
|
|||
|
|
## Out of scope
|
|||
|
|
|
|||
|
|
- 不改 CRM backend、不新增 reply meter。
|
|||
|
|
|
|||
|
|
## Acceptance
|
|||
|
|
|
|||
|
|
- [x] 首層無需展開即可完成或移除。
|
|||
|
|
- [x] 詳情可看到原文、產品依據、風險與原始連結。
|
|||
|
|
- [ ] 指令:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd apps/web && npm run test -- RadarOpportunitiesPage
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Notes
|
|||
|
|
|
|||
|
|
- 2026-08-12 首次使用回饋修訂:卡片主動作改成「加入名單並追蹤」,另保留「只標示已處理」與「不適合」;完整判定抽屜同步提供正向處理動作。
|
|||
|
|
- 加入名單成功必須同時把 ReviewState 設為 `completed`,並顯示前往 Contact 的下一步;不能只顯示含糊的「完成」。
|
|||
|
|
- 首層只呈現一個推薦分數、產品與最強證據;英文 priority enum 不直接暴露給使用者。
|
|||
|
|
|
|||
|
|
不要把所有 ProductMatch 四維理由直接塞進首層卡片。
|