package cloud.molberg.picar

data class Shortcut(val id: Int, val name: String, val target: String)
data class SystemSummary(
    val hostname: String,
    val temperatureC: Double?,
    val memoryUsedPercent: Int,
    val diskUsedPercent: Int?,
    val uptimeSeconds: Long,
    val adbConnected: Boolean
)
data class CarSummary(
    val speedKph: Double?,
    val gear: String?,
    val wheelAngle: Double?,
    val batteryPercent: Double?,
    val rangeKm: Double?,
    val voltage: Double?,
    val consumptionKwh: Double?,
    val trackedDistanceKm: Double,
    val averageSpeedKph: Double?,
    val peakSpeedKph: Double?
)
data class Snapshot(val collectedAt: String, val system: SystemSummary, val car: CarSummary, val shortcuts: List<Shortcut>)
enum class ConnectionState { STOPPED, SCANNING, CONNECTING, CONNECTED, DISCONNECTED }
data class CompanionUiState(
    val connection: ConnectionState = ConnectionState.STOPPED,
    val paired: Boolean = false,
    val snapshot: Snapshot? = null,
    val error: String? = null,
    val busyShortcut: Int? = null
)
