package com.craigvg.lichun_android.domain.models import kotlinx.serialization.Serializable /** * Daily reward system models for 7-day login rewards * Ported from iOS DailyReward.swift */ @Serializable data class DailyRewardState( val currentStreak: Int, val lastLoginDate: String, val nextResetDate: String, val canClaim: Boolean, val todaysClaimed: Boolean, val rewards: List ) @Serializable data class DayReward( val id: Int, // Day number 1-7 val diamonds: Int, val energy: Int? = null, val money: Double? = null, val bonusItem: String? = null, val claimed: Boolean = false ) { val displayReward: String get() { val parts = mutableListOf() parts.add("$diamonds Diamonds") energy?.let { parts.add("$it Energy") } money?.let { parts.add("$${it.toInt()}") } bonusItem?.let { parts.add(it) } return parts.joinToString(" + ") } val dayLabel: String get() = "Day $id" }