目的・役割

豆知識(tip.quiz)に付随する3〜4択問題を解く画面。正解で連続日数(streak)+1、コインも獲得可能。

UI 構成

要素種類説明
問題文Texttip.quiz.question
選択肢ボタンButton×4tip.quiz.choices
結果表示Overlay正解 / 不正解の演出
正答率表示Text「N% 正解」
連続正解日数Text「連続N日」
獲得コインText「+1 コイン」(正解時)

状態

状態表示内容
未回答選択肢のみ
正解正解演出 + 統計表示
不正解正解を提示 + 解説
当日回答済み「本日は回答済み」表示

遷移

操作遷移先
選択肢タップ結果表示(同画面)
閉じるHomeView(sheetを閉じる)

使用するデータモデル

TipQuiz {
    let question: String
    let choices: [String]
    let correct: Int  // index
}

QuizService {
    func recordAnswer(tipId: String, correct: Bool)
    func getStreak() -> Int
    func hasAnsweredToday() -> Bool
}

実装メモ

関連

変更履歴

バージョン日付変更内容
1.02026-05-09初版作成