# T552 — fe-opportunity-actions-and-reply-panel

> Status: `done`  
> Milestone: `M3`  
> Kind: `feat`  
> Est. change: `~200 lines`

## Goal

完成後系統應：商機卡片五個動作可用（開原文／加入名單／產生其他回覆／略過／看判定理由＋覆寫分級），回覆面板可複製與送出。

## Depends on

- T547、T549、T550、T551

## Inputs

- Spec：`../spec.md` §4.4.3、§4.5、§9.3（RP-03～RP-05）

## Outputs

### 程式變更（預期路徑）

| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/components/radar/OpportunityActions.tsx` | add | 五個動作＋覆寫分級 |
| `apps/web/src/components/radar/ReasonsDrawer.tsx` | add | 展開五維度分數與理由 |
| `apps/web/src/components/radar/ReplyPanel.tsx` | add | variant 切換、生成、複製、送出 |
| `apps/web/src/data/live/radarRepos.ts` | edit | accept／dismiss／override／replies／send 實作 |
| `apps/web/src/styles/radar.css` | edit | 抽屜與面板樣式 |

### 行為變更

- 開啟原文以新分頁開 `permalink`。
- 私訊版只提供「複製」＋「標記已送出」，UI **不得**出現自動送出字樣。
- `AccountHealth=throttle` 時自動送出按鈕停用並顯示後端 message。
- forbidden 兩次命中的錯誤直接顯示，不顯示任何生成內容。

## Out of scope

- CRM 頁（T574／T575）
- 統計頁（T591）

## Acceptance

- [x] 五個動作皆可完成一次完整操作並更新列表
- [x] throttle 情境按鈕停用且訊息可讀
- [x] 指令：

```bash
cd apps/web && npm run build && npm run check:tokens && npm run test && npm run lint
```
