目的・役割

アプリ起動直後のメイン画面。TabView で2ページ構成(今日・カレンダー)。 各種ショップ・設定はここから sheet で起動。

UI 構成

要素種類説明
トップバーHStack左: 設定 / 右: テーマ・ジャンル・プレミアム
TabView(PageStyle)SwiftUI Tab2ページ: 今日 / カレンダー
豆知識カードTipCardView当日 or 選択日のtip表示
動画ボーナスボタンVideoBonusButton+3pt獲得(1日5回まで)
バナー広告BannerAdView下部固定(無料ユーザーのみ)

状態

状態表示内容
無料ユーザーバナー広告表示
プレミアムユーザーバナー非表示、テーマ自由選択
レビュー誘導タイミング2秒遅延後、native in-app review

遷移

操作遷移先
TabView スワイプ今日 ⇄ カレンダー
クイズボタン(カード内)QuizView (.sheet)
♥ ボタンFavoriteService.toggleFavorite
共有ボタンShareCardView 経由でShareSheet
動画ボーナスRewardedAdManager.show()
設定ボタンSettingsView (.sheet)
テーマ・ジャンル・プレミアム各 .sheet

使用するデータモデル

AppViewModel {
    var todayTip: DailyTip?
    var selectedDate: Date
    var shouldRequestReview: Bool
    var isPremium: Bool
    var coinBalance: Int
}

実装メモ

関連

変更履歴

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