package de.waypointaudio.license /** * v2.5.20 — Erweitertes Lizenzstatus-Datenmodell. * * v2.5.17 hat ein bewusst minimales String-only-Modell eingeführt, das die * About-Card direkt rendern konnte. v2.5.20 ergänzt strukturierte Felder, * damit die echte Offline-Lizenzprüfung Lizenztyp, Lizenznehmer, Gültigkeit, * Permissions, Bindung und Lizenz-ID anzeigen kann. * * Bewusst unverändert bleiben die alten Felder ([stateText], [holderText], * [validityText], [featuresText], [isPro]), damit die bisherige UI ohne * Anpassung weiterläuft und der Card-Aufbau in [de.waypointaudio.ui.AboutDialog] * stabil bleibt. */ data class LicenseStatus( val stateText: String, val holderText: String, val validityText: String, val featuresText: String, val isPro: Boolean, val state: State = State.NONE, val licenseId: String? = null, val licenseTypeRaw: String? = null, val licenseTypeLabel: String? = null, val bindingText: String? = null, val permissions: Map = emptyMap(), val errorMessage: String? = null, ) { enum class State { NONE, VALID, INVALID, EXPIRED } }