From 1d1a3322abbfbad4ea4d56593b3e3967a463d7d0 Mon Sep 17 00:00:00 2001 From: Sjoerd-Bo3 Date: Mon, 17 Jun 2024 18:33:48 +0200 Subject: [PATCH 1/3] fix(bgtargets): change variable from double to decimal Signed-off-by: Sjoerd-Bo3 --- .../Modules/TargetsEditor/TargetsEditorStateModel.swift | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift b/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift index 723af7d0e..971d22242 100644 --- a/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift +++ b/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift @@ -6,7 +6,7 @@ extension TargetsEditor { let timeValues = stride(from: 0.0, to: 1.days.timeInterval, by: 30.minutes.timeInterval).map { $0 } - var rateValues: [Double] { + var rateValues: [Decimal] { switch units { case .mgdL: return stride(from: 72, to: 180.01, by: 1.0).map { $0 } @@ -27,8 +27,8 @@ extension TargetsEditor { units = profile.units items = profile.targets.map { value in let timeIndex = timeValues.firstIndex(of: Double(value.offset * 60)) ?? 0 - let lowIndex = rateValues.firstIndex(of: Double(value.low)) ?? 0 let highIndex = lowIndex + let lowIndex = rateValues.firstIndex(of: value.low) ?? 0 return Item(lowIndex: lowIndex, highIndex: highIndex, timeIndex: timeIndex) } } @@ -55,7 +55,7 @@ extension TargetsEditor { fotmatter.dateFormat = "HH:mm:ss" let date = Date(timeIntervalSince1970: self.timeValues[item.timeIndex]) let minutes = Int(date.timeIntervalSince1970 / 60) - let low = Decimal(self.rateValues[item.lowIndex]) + let low = self.rateValues[item.lowIndex] let high = low return BGTargetEntry(low: low, high: high, start: fotmatter.string(from: date), offset: minutes) } @@ -68,8 +68,7 @@ extension TargetsEditor { let uniq = Array(Set(self.items)) let sorted = uniq.sorted { $0.timeIndex < $1.timeIndex } .map { item -> Item in - guard item.highIndex < item.lowIndex else { return item } - return Item(lowIndex: item.lowIndex, highIndex: item.lowIndex, timeIndex: item.timeIndex) + Item(lowIndex: item.lowIndex, highIndex: item.lowIndex, timeIndex: item.timeIndex) } sorted.first?.timeIndex = 0 self.items = sorted From 9be108be01ef02c260a16ef5cd160a623f0d9268 Mon Sep 17 00:00:00 2001 From: Sjoerd-Bo3 Date: Mon, 17 Jun 2024 18:34:23 +0200 Subject: [PATCH 2/3] refactor(bgtargets): typo fix Signed-off-by: Sjoerd-Bo3 --- .../Modules/TargetsEditor/TargetsEditorStateModel.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift b/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift index 971d22242..69fe1dd40 100644 --- a/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift +++ b/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift @@ -50,14 +50,14 @@ extension TargetsEditor { func save() { let targets = items.map { item -> BGTargetEntry in - let fotmatter = DateFormatter() - fotmatter.timeZone = TimeZone(secondsFromGMT: 0) - fotmatter.dateFormat = "HH:mm:ss" + let formatter = DateFormatter() + formatter.timeZone = TimeZone(secondsFromGMT: 0) + formatter.dateFormat = "HH:mm:ss" let date = Date(timeIntervalSince1970: self.timeValues[item.timeIndex]) let minutes = Int(date.timeIntervalSince1970 / 60) let low = self.rateValues[item.lowIndex] let high = low - return BGTargetEntry(low: low, high: high, start: fotmatter.string(from: date), offset: minutes) + return BGTargetEntry(low: low, high: high, start: formatter.string(from: date), offset: minutes) } let profile = BGTargets(units: units, userPrefferedUnits: settingsManager.settings.units, targets: targets) provider.saveProfile(profile) From 45d1ede5e92343d68fdfbcc8bea20ebe573acb80 Mon Sep 17 00:00:00 2001 From: Sjoerd-Bo3 Date: Mon, 17 Jun 2024 18:36:36 +0200 Subject: [PATCH 3/3] fix(bgtargets): correctly assigning highindex Signed-off-by: Sjoerd-Bo3 --- .../Modules/TargetsEditor/TargetsEditorStateModel.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift b/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift index 69fe1dd40..f4c02877b 100644 --- a/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift +++ b/FreeAPS/Sources/Modules/TargetsEditor/TargetsEditorStateModel.swift @@ -27,8 +27,8 @@ extension TargetsEditor { units = profile.units items = profile.targets.map { value in let timeIndex = timeValues.firstIndex(of: Double(value.offset * 60)) ?? 0 - let highIndex = lowIndex let lowIndex = rateValues.firstIndex(of: value.low) ?? 0 + let highIndex = rateValues.firstIndex(of: value.high) ?? 0 return Item(lowIndex: lowIndex, highIndex: highIndex, timeIndex: timeIndex) } } @@ -68,7 +68,7 @@ extension TargetsEditor { let uniq = Array(Set(self.items)) let sorted = uniq.sorted { $0.timeIndex < $1.timeIndex } .map { item -> Item in - Item(lowIndex: item.lowIndex, highIndex: item.lowIndex, timeIndex: item.timeIndex) + Item(lowIndex: item.lowIndex, highIndex: item.highIndex, timeIndex: item.timeIndex) } sorted.first?.timeIndex = 0 self.items = sorted