package mg.dot.feufaro.config

import kotlinx.serialization.Serializable

// Cette classe représente la structure de votre fichier JSON de configuration.
// Elle doit être @Serializable pour être désérialisée.
@Serializable
data class AppConfigJson(
    val themeMode: String = "SYSTEM", // Utilisez String pour la sérialisation de l'enum
    val fontSize: Float = 16f,
    val playlist: List<String>,
    val buttonContainerColorHex: String,
    val buttonContentColorHex: String ,
    val buttonDisabledContainerColorHex: String,
    val buttonDisabledContentColorHex: String ,

    )

// Vous pouvez ajouter une fonction d'extension pour convertir AppConfigJson en DisplayConfig
fun AppConfigJson.toDisplayConfig(): DisplayConfig {
    return DisplayConfig(
        themeMode = this.themeMode.uppercase(), // Convertir String en Enum
        fontSize = this.fontSize,
        playlist = this.playlist,
        buttonDisabledContainerColorHex = this.buttonDisabledContainerColorHex,
        buttonDisabledContentColorHex = this.buttonDisabledContentColorHex,
        buttonContainerColorHex = this.buttonContainerColorHex,
        buttonContentColorHex = this.buttonContentColorHex
    )
}

