目的・役割
作成中・未公開のランキングを一覧表示し、復元・削除を行う画面。24時間以内ならポイント返却可能。
UI 構成
| 要素 | 種類 | 説明 |
| 下書きリスト | List | タイトル・更新日時・残り猶予時間表示 |
| 編集ボタン | Button | CreateRankingViewへ復元遷移 |
| 削除ボタン | Swipe Action | 左スワイプで削除確認 |
| 「すべて削除」 | Toolbar | 確認後に一括削除 |
状態
| 状態 | 表示内容 |
| 下書きあり | リスト表示 |
| 下書きなし | 「下書きはありません」 |
| 削除確認 | Alert |
遷移
| 操作 | 遷移先 |
| 下書きセルタップ | CreateRankingView(編集mode、draftId引き継ぎ) |
| 削除確定 | 同画面(リスト更新) |
使用するデータモデル
// status == .draft の Ranking を取得
let drafts = await rankingService.fetchDrafts(userId: currentUserId)
// 24時間以内なら refundEligible = true(ポイント返却対象)
実装メモ
- DraftListView は MyPageView と CreateRankingView 双方から開ける
- 削除時、refundEligible なら PointTransaction で cancelRefund 計上
- Logger.DraftList カテゴリで操作ログ出力
関連
変更履歴
| バージョン | 日付 | 変更内容 |
| 1.0 | 2026-05-09 | 初版作成 |