Просмотр исходного кода

Merge pull request #1320 from bjorkert/fix/1308-bolus-in-progress-card

Make bolus-in-progress card in Treatments view more reliable
Sam King 18 часов назад
Родитель
Сommit
aabe6268e8
1 измененных файлов с 8 добавлено и 7 удалено
  1. 8 7
      Trio/Sources/Modules/Treatments/View/TreatmentsRootView.swift

+ 8 - 7
Trio/Sources/Modules/Treatments/View/TreatmentsRootView.swift

@@ -492,8 +492,7 @@ extension Treatments {
         }
         }
 
 
         var treatmentButton: some View {
         var treatmentButton: some View {
-            let shouldDisplayBolusProgress = state.bolusStatus != .noBolus && state.amount > 0 &&
-                !state.externalInsulin && (state.carbs == 0 || state.fat == 0 || state.protein == 0)
+            let shouldDisplayBolusProgress = bolusInProgressForEntry
 
 
             var treatmentButtonBackground = Color(.systemBlue)
             var treatmentButtonBackground = Color(.systemBlue)
             if limitExceeded {
             if limitExceeded {
@@ -693,12 +692,14 @@ extension Treatments {
             pumpBolusLimitExceeded || externalBolusLimitExceeded || carbLimitExceeded || fatLimitExceeded || proteinLimitExceeded
             pumpBolusLimitExceeded || externalBolusLimitExceeded || carbLimitExceeded || fatLimitExceeded || proteinLimitExceeded
         }
         }
 
 
+        private var bolusInProgressForEntry: Bool {
+            // .initiating covers pumps that take a few seconds before reporting progress
+            (state.bolusProgress != nil || state.bolusStatus == .initiating) &&
+                state.amount > 0 && !state.externalInsulin
+        }
+
         private var disableTaskButton: Bool {
         private var disableTaskButton: Bool {
-            (
-                state.bolusStatus != .noBolus && state
-                    .amount > 0 && !state.externalInsulin && (state.carbs == 0 || state.fat == 0 || state.protein == 0)
-            ) || state
-                .addButtonPressed || limitExceeded
+            bolusInProgressForEntry || state.addButtonPressed || limitExceeded
         }
         }
     }
     }