polscm32 2 лет назад
Родитель
Сommit
b4d37f36d0

+ 12 - 0
FreeAPS/Sources/Modules/Bolus/View/AlternativeBolusCalcRootView.swift

@@ -15,6 +15,7 @@ extension Bolus {
         @State private var showAlert = false
         @State private var exceededMaxBolus = false
         @State private var keepForNextWiew: Bool = false
+        @State private var calcButtonPressed: Bool = false
         @State private var autofocus: Bool = true
         @State private var calculatorDetent = PresentationDetent.medium
         @State var pushed = false
@@ -360,6 +361,7 @@ extension Bolus {
                             if treatmentsViewMode == .calcMode {
                                 state.addCarbs(override, fetch: editMode)
                                 treatmentsViewMode = .editMode
+                                calcButtonPressed.toggle()
                             } else {
                                 state.backToCarbsView(complexEntry: true, meal, override: false)
                                 treatmentsViewMode = .calcMode
@@ -479,6 +481,11 @@ extension Bolus {
                             keepForNextWiew = true
                             state.add()
                             state.hideModal()
+                            ///check if user pressed the calc button or just wanted to enter carbs
+                            ///otherwise carb entry is doubled
+                            if !calcButtonPressed {
+                                state.addCarbs(override, fetch: editMode)
+                            }
                         }
                         label: { Text(exceededMaxBolus ? "Max Bolus exceeded!" : "Enact bolus") }
                             .frame(maxWidth: .infinity, alignment: .center)
@@ -492,6 +499,11 @@ extension Bolus {
                         Button {
                             keepForNextWiew = true
                             state.hideModal()
+                            ///check if user pressed the calc button or just wanted to enter carbs
+                            ///otherwise carb entry is doubled
+                            if !calcButtonPressed {
+                                state.addCarbs(override, fetch: editMode)
+                            }
                         }
                         label: { Text("Continue without bolus") }.frame(maxWidth: .infinity, alignment: .center)
                     }.listRowBackground(Color.chart)