Explorar o código

add settings for super bolus

polscm32 %!s(int64=2) %!d(string=hai) anos
pai
achega
1c3056c21e

+ 3 - 1
FreeAPS/Resources/json/defaults/freeaps/freeaps_settings.json

@@ -46,5 +46,7 @@
   "overrideFactor": 0.8,
   "overrideFactor": 0.8,
   "useCalc": false,
   "useCalc": false,
   "fattyMeals": false,
   "fattyMeals": false,
-  "fattyMealFactor": 0.7
+  "fattyMealFactor": 0.7,
+  "sweetMeals": false,
+  "sweetMealFactor": 2
 }
 }

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

@@ -49,6 +49,8 @@ struct FreeAPSSettings: JSON, Equatable {
     var useCalc: Bool = false
     var useCalc: Bool = false
     var fattyMeals: Bool = false
     var fattyMeals: Bool = false
     var fattyMealFactor: Decimal = 0.7
     var fattyMealFactor: Decimal = 0.7
+    var sweetMeals: Bool = false
+    var sweetMealFactor: Decimal = 2
 }
 }
 
 
 extension FreeAPSSettings: Decodable {
 extension FreeAPSSettings: Decodable {
@@ -155,6 +157,14 @@ extension FreeAPSSettings: Decodable {
             settings.fattyMealFactor = fattyMealFactor
             settings.fattyMealFactor = fattyMealFactor
         }
         }
 
 
+        if let sweetMeals = try? container.decode(Bool.self, forKey: .sweetMeals) {
+            settings.sweetMeals = sweetMeals
+        }
+
+        if let sweetMealFactor = try? container.decode(Decimal.self, forKey: .sweetMealFactor) {
+            settings.sweetMealFactor = sweetMealFactor
+        }
+
         if let overrideFactor = try? container.decode(Decimal.self, forKey: .overrideFactor) {
         if let overrideFactor = try? container.decode(Decimal.self, forKey: .overrideFactor) {
             settings.overrideFactor = overrideFactor
             settings.overrideFactor = overrideFactor
         }
         }

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

@@ -6,6 +6,8 @@ extension BolusCalculatorConfig {
         @Published var useCalc: Bool = false
         @Published var useCalc: Bool = false
         @Published var fattyMeals: Bool = false
         @Published var fattyMeals: Bool = false
         @Published var fattyMealFactor: Decimal = 0
         @Published var fattyMealFactor: Decimal = 0
+        @Published var sweetMeals: Bool = false
+        @Published var sweetMealFactor: Decimal = 0
         @Published var insulinReqPercentage: Decimal = 70
         @Published var insulinReqPercentage: Decimal = 70
         override func subscribe() {
         override func subscribe() {
             subscribeSetting(\.overrideFactor, on: $overrideFactor, initial: {
             subscribeSetting(\.overrideFactor, on: $overrideFactor, initial: {
@@ -22,6 +24,13 @@ extension BolusCalculatorConfig {
             }, map: {
             }, map: {
                 $0
                 $0
             })
             })
+            subscribeSetting(\.sweetMeals, on: $sweetMeals) { sweetMeals = $0 }
+            subscribeSetting(\.sweetMealFactor, on: $sweetMealFactor, initial: {
+                let value = max(min($0, 5), 1)
+                sweetMealFactor = value
+            }, map: {
+                $0
+            })
             subscribeSetting(\.insulinReqPercentage, on: $insulinReqPercentage) { insulinReqPercentage = $0 }
             subscribeSetting(\.insulinReqPercentage, on: $insulinReqPercentage) { insulinReqPercentage = $0 }
         }
         }
     }
     }

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 12 - 1
FreeAPS/Sources/Modules/BolusCalculatorConfig/View/BolusCalculatorConfigRootView.swift