package de.ladkau.deckinadash.data

/** Mirrors engine/src/tarot.h's Gender enum - ordinal must match. */
enum class Gender {
    UNSPECIFIED,
    MALE,
    FEMALE,
}

/**
 * Everything the app needs that isn't computed fresh each day: birth
 * data, display language, and daily notification settings. Mirrors
 * watch/src/c/config.h's WatchConfig field-for-field - same data, same
 * defaults, persisted here via Preferences DataStore (see
 * ConfigRepository) instead of Pebble's key-value persist API.
 */
data class DeckConfig(
    val configured: Boolean = false,
    val birthYear: Int = 0,
    val birthMonth: Int = 0,
    val birthDay: Int = 0,
    val birthHour: Int = 0,
    val birthMinute: Int = 0,
    val utcOffsetHours: Double = 0.0,
    val latitude: Double = 0.0,
    val longitude: Double = 0.0,
    val gender: Gender = Gender.UNSPECIFIED,
    val lang: String = "en",
    val notifyEnabled: Boolean = false,
    val notifyHour: Int = 8,
    val notifyMinute: Int = 0,
)
