目的・役割
投票期間が終了し、自分が投票していないかつ閲覧権限がないランキングについて、結果閲覧をブロックする画面。
ポイント消費で閲覧解放できる導線を提供。
UI 構成
| 要素 | 種類 | 説明 |
| ロックアイコン | SF Symbol | 「lock.fill」 |
| 説明テキスト | Text | 「投票期間が終了しました。閲覧にはポイントが必要です」 |
| 閲覧解放ボタン | Button | 「Npt消費して結果を見る」(PointAction.viewResult) |
| 戻るボタン | Toolbar | RankingDetailView または前画面へ |
状態
| 状態 | 表示内容 |
| 初期表示 | ロック画面 + 解放ボタン |
| 解放処理中 | ProgressView |
| ポイント不足 | 「ポイントが足りません」 |
| 解放成功 | ResultView へ遷移 |
遷移
| 操作 | 遷移先 |
| 「閲覧する」 | PointService.consumePoints(viewResult) → ResultView |
| 戻る | RankingDetailView |
使用するデータモデル
PointAction.viewResult // 1pt
PointAction.viewDetail // 2pt
PointAction.viewConditional // 3pt
実装メモ
- RankingAccessPolicy で閲覧不可と判定された場合のみ表示
- 解放後の状態は accessPolicy に反映され、再表示時にスキップ
関連
変更履歴
| バージョン | 日付 | 変更内容 |
| 1.0 | 2026-05-09 | 初版作成 |