AutosensSettingsStateModel.swift 994 B

123456789101112131415161718192021222324252627282930
  1. import Observation
  2. import SwiftUI
  3. extension AutosensSettings {
  4. final class StateModel: BaseStateModel<Provider> {
  5. @Injected() var settings: SettingsManager!
  6. @Injected() var storage: FileStorage!
  7. var units: GlucoseUnits = .mgdL
  8. @Published var autosensMax: Decimal = 1.2
  9. @Published var autosensMin: Decimal = 0.7
  10. @Published var rewindResetsAutosens: Bool = true
  11. override func subscribe() {
  12. units = settingsManager.settings.units
  13. subscribePreferencesSetting(\.autosensMax, on: $autosensMax) { autosensMax = $0 }
  14. subscribePreferencesSetting(\.autosensMin, on: $autosensMin) { autosensMin = $0 }
  15. subscribePreferencesSetting(\.rewindResetsAutosens, on: $rewindResetsAutosens) { rewindResetsAutosens = $0 }
  16. }
  17. }
  18. }
  19. extension AutosensSettings.StateModel: SettingsObserver {
  20. func settingsDidChange(_: FreeAPSSettings) {
  21. units = settingsManager.settings.units
  22. }
  23. }