PumpSettingsEditorStateModel.swift 995 B

1234567891011121314151617181920212223242526272829303132333435
  1. import SwiftUI
  2. extension PumpSettingsEditor {
  3. final class StateModel: BaseStateModel<Provider> {
  4. @Published var maxBasal: Decimal = 0.0
  5. @Published var maxBolus: Decimal = 0.0
  6. @Published var dia: Decimal = 0.0
  7. @Published var syncInProgress = false
  8. override func subscribe() {
  9. let settings = provider.settings()
  10. maxBasal = settings.maxBasal
  11. maxBolus = settings.maxBolus
  12. dia = settings.insulinActionCurve
  13. }
  14. func save() {
  15. syncInProgress = true
  16. let settings = PumpSettings(
  17. insulinActionCurve: dia,
  18. maxBolus: maxBolus,
  19. maxBasal: maxBasal
  20. )
  21. provider.save(settings: settings)
  22. .receive(on: DispatchQueue.main)
  23. .sink { _ in
  24. self.syncInProgress = false
  25. } receiveValue: {}
  26. .store(in: &lifetime)
  27. }
  28. }
  29. }