|
@@ -11,24 +11,23 @@ extension AddTempTarget {
|
|
|
@Published var date = Date()
|
|
@Published var date = Date()
|
|
|
@Published var newPresetName = ""
|
|
@Published var newPresetName = ""
|
|
|
@Published var presets: [TempTarget] = []
|
|
@Published var presets: [TempTarget] = []
|
|
|
|
|
+ @Published var percentage = 100.0
|
|
|
|
|
+ @Published var maxValue: Decimal = 1.2
|
|
|
|
|
+ @Published var halfBasal: Decimal = 160
|
|
|
|
|
|
|
|
private(set) var units: GlucoseUnits = .mmolL
|
|
private(set) var units: GlucoseUnits = .mmolL
|
|
|
|
|
|
|
|
override func subscribe() {
|
|
override func subscribe() {
|
|
|
units = settingsManager.settings.units
|
|
units = settingsManager.settings.units
|
|
|
presets = storage.presets()
|
|
presets = storage.presets()
|
|
|
|
|
+ maxValue = settingsManager.preferences.autosensMax
|
|
|
|
|
+ halfBasal = settingsManager.preferences.halfBasalExerciseTarget
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func enact() {
|
|
func enact() {
|
|
|
- var lowTarget = low
|
|
|
|
|
- var highTarget = high
|
|
|
|
|
-
|
|
|
|
|
- highTarget = max(highTarget, lowTarget)
|
|
|
|
|
-
|
|
|
|
|
- if units == .mmolL {
|
|
|
|
|
- lowTarget = lowTarget.asMgdL
|
|
|
|
|
- highTarget = highTarget.asMgdL
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ let diff = Double(halfBasal - 100)
|
|
|
|
|
+ let lowTarget = Decimal(diff + 40 * (percentage / 100)) / (Decimal(percentage) / 100)
|
|
|
|
|
+ let highTarget = lowTarget
|
|
|
|
|
|
|
|
let entry = TempTarget(
|
|
let entry = TempTarget(
|
|
|
name: TempTarget.custom,
|
|
name: TempTarget.custom,
|
|
@@ -50,15 +49,8 @@ extension AddTempTarget {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func save() {
|
|
func save() {
|
|
|
- var lowTarget = low
|
|
|
|
|
- var highTarget = high
|
|
|
|
|
-
|
|
|
|
|
- highTarget = max(highTarget, lowTarget)
|
|
|
|
|
-
|
|
|
|
|
- if units == .mmolL {
|
|
|
|
|
- lowTarget = lowTarget.asMgdL
|
|
|
|
|
- highTarget = highTarget.asMgdL
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ let lowTarget = Decimal(60 + 40 * (percentage / 100)) / (Decimal(percentage) / 100)
|
|
|
|
|
+ let highTarget = lowTarget
|
|
|
|
|
|
|
|
let entry = TempTarget(
|
|
let entry = TempTarget(
|
|
|
name: newPresetName.isEmpty ? TempTarget.custom : newPresetName,
|
|
name: newPresetName.isEmpty ? TempTarget.custom : newPresetName,
|