50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
|
|
# T601 — fe-scout-promote-action
|
|||
|
|
|
|||
|
|
> Status: `done`
|
|||
|
|
> Milestone: `M6`
|
|||
|
|
> Kind: `feat`
|
|||
|
|
> Est. change: `~100 lines`
|
|||
|
|
|
|||
|
|
## Goal
|
|||
|
|
|
|||
|
|
完成後系統應:既有海巡命中列多一個「升級為商機」動作,成功後可跳到該商機。
|
|||
|
|
|
|||
|
|
## Depends on
|
|||
|
|
|
|||
|
|
- T600
|
|||
|
|
|
|||
|
|
## Inputs
|
|||
|
|
|
|||
|
|
- Spec:`../spec.md` §4.10、§5.3
|
|||
|
|
- 既有:`apps/web/src/pages/ScoutPage.tsx`
|
|||
|
|
|
|||
|
|
## Outputs
|
|||
|
|
|
|||
|
|
### 程式變更(預期路徑)
|
|||
|
|
|
|||
|
|
| 路徑 | 動作 | 說明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `apps/web/src/pages/ScoutPage.tsx` | edit | 命中列新增動作按鈕與成功後導引 |
|
|||
|
|
| `apps/web/src/data/live/radarRepos.ts` | edit | promote 實作 |
|
|||
|
|
| `apps/web/src/lib/i18n/messages.ts` | edit | 文案 |
|
|||
|
|
|
|||
|
|
### 行為變更
|
|||
|
|
|
|||
|
|
- 成功後顯示「已建立商機」並提供連結到 `/app/radar`(或該商機詳情)。
|
|||
|
|
- 重複 promote 顯示「已存在對應商機」並直接給連結,不報錯。
|
|||
|
|
- 既有海巡列的其他行為與樣式不變。
|
|||
|
|
|
|||
|
|
## Out of scope
|
|||
|
|
|
|||
|
|
- 海巡頁其他改動
|
|||
|
|
|
|||
|
|
## Acceptance
|
|||
|
|
|
|||
|
|
- [x] 動作可完成並導向商機
|
|||
|
|
- [x] 既有海巡頁測試不破
|
|||
|
|
- [x] 指令:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd apps/web && npm run build && npm run test && npm run lint
|
|||
|
|
```
|