| 123456789101112131415161718192021222324252627282930313233343536 |
- import SwiftUI
- extension StatConfig {
- final class StateModel: BaseStateModel<Provider> {
- @Published var overrideHbA1cUnit = false
- @Published var low: Decimal = 4 / 0.0555
- @Published var high: Decimal = 10 / 0.0555
- @Published var uploadStats = false
- var units: GlucoseUnits = .mmolL
- override func subscribe() {
- let units = settingsManager.settings.units
- self.units = units
- subscribeSetting(\.overrideHbA1cUnit, on: $overrideHbA1cUnit) { overrideHbA1cUnit = $0 }
- subscribeSetting(\.uploadStats, on: $uploadStats) { uploadStats = $0 }
- subscribeSetting(\.low, on: $low, initial: {
- let value = max(min($0, 120), 40)
- low = units == .mmolL ? value.asMmolL : value
- }, map: {
- guard units == .mmolL else { return $0 }
- return $0.asMgdL
- })
- subscribeSetting(\.high, on: $high, initial: {
- let value = max(min($0, 270), 130)
- high = units == .mmolL ? value.asMmolL : value
- }, map: {
- guard units == .mmolL else { return $0 }
- return $0.asMgdL
- })
- }
- }
- }
|