|
|
@@ -6,9 +6,9 @@ import SwiftUI
|
|
|
extension OverrideConfig {
|
|
|
@Observable final class StateModel: BaseStateModel<Provider> {
|
|
|
@ObservationIgnored @Injected() var broadcaster: Broadcaster!
|
|
|
- @ObservationIgnored @Injected() var storage: TempTargetsStorage!
|
|
|
@ObservationIgnored @Injected() var apsManager: APSManager!
|
|
|
@ObservationIgnored @Injected() var overrideStorage: OverrideStorage!
|
|
|
+ @ObservationIgnored @Injected() var tempTargetStorage: TempTargetsStorage!
|
|
|
|
|
|
var overridePercentage: Double = 100
|
|
|
var isEnabled = false
|
|
|
@@ -17,6 +17,7 @@ extension OverrideConfig {
|
|
|
var target: Decimal = 100
|
|
|
var shouldOverrideTarget: Bool = false
|
|
|
var smbIsOff: Bool = false
|
|
|
+ var smbIsScheduledOff: Bool = false
|
|
|
var id = ""
|
|
|
var overrideName: String = ""
|
|
|
var isPreset: Bool = false
|
|
|
@@ -25,7 +26,6 @@ extension OverrideConfig {
|
|
|
var isfAndCr: Bool = true
|
|
|
var isf: Bool = true
|
|
|
var cr: Bool = true
|
|
|
- var smbIsScheduledOff: Bool = false
|
|
|
var start: Decimal = 0
|
|
|
var end: Decimal = 0
|
|
|
var smbMinutes: Decimal = 0
|
|
|
@@ -38,8 +38,8 @@ extension OverrideConfig {
|
|
|
var showOverrideEditSheet = false
|
|
|
var showTempTargetEditSheet = false
|
|
|
var currentActiveTempTarget: TempTargetStored?
|
|
|
- var currentActiveOverride: OverrideStored?
|
|
|
var activeTempTargetName: String = ""
|
|
|
+ var showInvalidTargetAlert = false
|
|
|
|
|
|
var units: GlucoseUnits = .mgdL
|
|
|
|
|
|
@@ -139,15 +139,8 @@ extension OverrideConfig.StateModel {
|
|
|
self.updateLatestOverrideConfiguration()
|
|
|
}
|
|
|
.store(in: &cancellables)
|
|
|
-
|
|
|
- // Custom Notification to update View when an Temp Target has been cancelled via Home View
|
|
|
- Foundation.NotificationCenter.default.addObserver(
|
|
|
- self,
|
|
|
- selector: #selector(handleTempTargetConfigurationUpdate),
|
|
|
- name: .didUpdateTempTargetConfiguration,
|
|
|
- object: nil
|
|
|
- )
|
|
|
}
|
|
|
+
|
|
|
// MARK: - Enact Overrides
|
|
|
|
|
|
func reorderOverride(from source: IndexSet, to destination: Int) {
|
|
|
@@ -283,7 +276,7 @@ extension OverrideConfig.StateModel {
|
|
|
date: Date(),
|
|
|
duration: overrideDuration,
|
|
|
indefinite: indefinite,
|
|
|
- percentage: overrideSliderPercentage,
|
|
|
+ percentage: overridePercentage,
|
|
|
smbIsOff: smbIsOff,
|
|
|
isPreset: isPreset,
|
|
|
id: id,
|
|
|
@@ -293,7 +286,7 @@ extension OverrideConfig.StateModel {
|
|
|
isfAndCr: isfAndCr,
|
|
|
isf: isf,
|
|
|
cr: cr,
|
|
|
- smbIsAlwaysOff: smbIsAlwaysOff,
|
|
|
+ smbIsScheduledOff: smbIsScheduledOff,
|
|
|
start: start,
|
|
|
end: end,
|
|
|
smbMinutes: smbMinutes,
|
|
|
@@ -322,7 +315,7 @@ extension OverrideConfig.StateModel {
|
|
|
date: Date(),
|
|
|
duration: overrideDuration,
|
|
|
indefinite: indefinite,
|
|
|
- percentage: overrideSliderPercentage,
|
|
|
+ percentage: overridePercentage,
|
|
|
smbIsOff: smbIsOff,
|
|
|
isPreset: true,
|
|
|
id: id,
|
|
|
@@ -332,7 +325,7 @@ extension OverrideConfig.StateModel {
|
|
|
isfAndCr: isfAndCr,
|
|
|
isf: isf,
|
|
|
cr: cr,
|
|
|
- smbIsAlwaysOff: smbIsAlwaysOff,
|
|
|
+ smbIsScheduledOff: smbIsScheduledOff,
|
|
|
start: start,
|
|
|
end: end,
|
|
|
smbMinutes: smbMinutes,
|
|
|
@@ -470,16 +463,16 @@ extension OverrideConfig.StateModel {
|
|
|
|
|
|
overrideDuration = 0
|
|
|
indefinite = true
|
|
|
- overrideSliderPercentage = 100
|
|
|
+ overridePercentage = 100
|
|
|
|
|
|
advancedSettings = false
|
|
|
- smbIsOff = false
|
|
|
+ smbIsScheduledOff = false
|
|
|
overrideName = ""
|
|
|
shouldOverrideTarget = false
|
|
|
isf = true
|
|
|
cr = true
|
|
|
isfAndCr = true
|
|
|
- smbIsAlwaysOff = false
|
|
|
+ smbIsScheduledOff = false
|
|
|
start = 0
|
|
|
end = 23
|
|
|
smbMinutes = defaultSmbMinutes
|