RaffleDetailPage 海洋主題改版 Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 將 RaffleDetailPage 改版為海洋主題三欄佈局,以插圖扭蛋機為中央主視覺,保留所有現有管理功能與測試覆蓋。
Architecture: 在同一個 RaffleDetailPage.tsx 檔案內重構 JSX 結構與 inline 樣式,不新增外部 CSS 檔。管理功能(CSV、啟動、統計、Discord、結束)移至頂部折疊區塊。主體改為三欄:左欄模擬聊天、中欄圖片主視覺 + 抽獎按鈕、右欄中獎名單。所有現有 data-testid 屬性完整保留,確保既有測試零改動通過。
Tech Stack: React 18, TypeScript, inline styles(延續現有慣例),apps/dashboard/src/assets/raffle-bg.jpg.png
檔案異動
| 檔案 | 動作 |
|---|---|
apps/dashboard/src/pages/RaffleDetailPage.tsx | 主要改版 |
apps/dashboard/src/assets/raffle-bg.jpg.png | 新增至版控(binary asset,原已存在於工作目錄) |
apps/dashboard/src/pages/__tests__/RaffleDetailPage.test.tsx | 新增 2 個 WinnerModal 測試案例(Task 7) |