Przeglądaj źródła

Setting for displaying/not displaying predictions

Jon Mårtensson 2 lat temu
rodzic
commit
2158d52e9b

+ 5 - 0
FreeAPS/Sources/Models/FreeAPSSettings.swift

@@ -49,6 +49,7 @@ struct FreeAPSSettings: JSON, Equatable {
     var useCalc: Bool = false
     var fattyMeals: Bool = false
     var fattyMealFactor: Decimal = 0.7
+    var displayPredictions: Bool = true
 }
 
 extension FreeAPSSettings: Decodable {
@@ -254,6 +255,10 @@ extension FreeAPSSettings: Decodable {
             settings.onlyAutotuneBasals = onlyAutotuneBasals
         }
 
+        if let displayPredictions = try? container.decode(Bool.self, forKey: .displayPredictions) {
+            settings.displayPredictions = displayPredictions
+        }
+
         self = settings
     }
 }

+ 2 - 0
FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift

@@ -57,6 +57,7 @@ extension Bolus {
         @Published var fattyMeals: Bool = false
         @Published var fattyMealFactor: Decimal = 0
         @Published var useFattyMealCorrectionFactor: Bool = false
+        @Published var displayPredictions: Bool = true
 
         @Published var meal: [CarbsEntry]?
         @Published var carbs: Decimal = 0
@@ -76,6 +77,7 @@ extension Bolus {
             useCalc = settings.settings.useCalc
             fattyMeals = settings.settings.fattyMeals
             fattyMealFactor = settings.settings.fattyMealFactor
+            displayPredictions = settings.settings.displayPredictions
 
             if waitForSuggestionInitial {
                 apsManager.determineBasal()

+ 9 - 7
FreeAPS/Sources/Modules/Bolus/View/AlternativeBolusCalcRootView.swift

@@ -57,13 +57,15 @@ extension Bolus {
 
         var body: some View {
             Form {
-                Section {
-                    if state.waitForSuggestion {
-                        Text("Please wait")
-                    } else {
-                        predictionChart
-                    }
-                } header: { Text("Predictions") }
+                if state.displayPredictions {
+                    Section {
+                        if state.waitForSuggestion {
+                            Text("Please wait")
+                        } else {
+                            predictionChart
+                        }
+                    } header: { Text("Predictions") }
+                }
 
                 Section {}
                 if fetch {

+ 9 - 7
FreeAPS/Sources/Modules/Bolus/View/DefaultBolusCalcRootView.swift

@@ -37,13 +37,15 @@ extension Bolus {
 
         var body: some View {
             Form {
-                Section {
-                    if state.waitForSuggestion {
-                        Text("Please wait")
-                    } else {
-                        predictionChart
-                    }
-                } header: { Text("Predictions") }
+                if state.displayPredictions {
+                    Section {
+                        if state.waitForSuggestion {
+                            Text("Please wait")
+                        } else {
+                            predictionChart
+                        }
+                    } header: { Text("Predictions") }
+                }
 
                 if fetch {
                     Section {

+ 3 - 0
FreeAPS/Sources/Modules/BolusCalculatorConfig/BolusCalculatorStateModel.swift

@@ -7,6 +7,8 @@ extension BolusCalculatorConfig {
         @Published var fattyMeals: Bool = false
         @Published var fattyMealFactor: Decimal = 0
         @Published var insulinReqPercentage: Decimal = 70
+        @Published var displayPredictions: Bool = true
+
         override func subscribe() {
             subscribeSetting(\.overrideFactor, on: $overrideFactor, initial: {
                 let value = max(min($0, 1.2), 0.1)
@@ -16,6 +18,7 @@ extension BolusCalculatorConfig {
             })
             subscribeSetting(\.useCalc, on: $useCalc) { useCalc = $0 }
             subscribeSetting(\.fattyMeals, on: $fattyMeals) { fattyMeals = $0 }
+            subscribeSetting(\.displayPredictions, on: $displayPredictions) { displayPredictions = $0 }
             subscribeSetting(\.fattyMealFactor, on: $fattyMealFactor, initial: {
                 let value = max(min($0, 1.2), 0.1)
                 fattyMealFactor = value

+ 5 - 0
FreeAPS/Sources/Modules/BolusCalculatorConfig/View/BolusCalculatorConfigRootView.swift

@@ -43,6 +43,11 @@ extension BolusCalculatorConfig {
                     }
                 } header: { Text("Calculator settings") }
 
+                Section {
+                    Toggle("Display Predictions", isOn: $state.displayPredictions)
+
+                } header: { Text("Smaller iPhone Screens") }
+
                 if state.useCalc {
                     Section {
                         HStack {