Przeglądaj źródła

Merge pull request #914 from nightscout/fix-adjustments-badge-895

Fix Adjustment Badge to Display SMB &/or UAM minute changes
Mike Plante 4 miesięcy temu
rodzic
commit
4eb85dd9ad

+ 3 - 0
Trio/Sources/Localizations/Main/Localizable.xcstrings

@@ -212977,6 +212977,9 @@
         }
         }
       }
       }
     },
     },
+    "SMBs Off%@" : {
+
+    },
     "Smooth CGM readings using Savitzky-Golay filtering." : {
     "Smooth CGM readings using Savitzky-Golay filtering." : {
       "localizations" : {
       "localizations" : {
         "bg" : {
         "bg" : {

+ 26 - 2
Trio/Sources/Modules/Home/View/HomeRootView.swift

@@ -220,6 +220,10 @@ extension Home {
                 return nil
                 return nil
             }
             }
 
 
+            guard let settingsManager = state.settingsManager else {
+                return nil
+            }
+
             let percent = latestOverride.percentage
             let percent = latestOverride.percentage
             let percentString = percent == 100 ? "" : "\(percent.formatted(.number)) %"
             let percentString = percent == 100 ? "" : "\(percent.formatted(.number)) %"
 
 
@@ -264,9 +268,29 @@ extension Home {
                 : ""
                 : ""
 
 
             let smbToggleString = latestOverride.smbIsOff || latestOverride
             let smbToggleString = latestOverride.smbIsOff || latestOverride
-                .smbIsScheduledOff ? "SMBs Off\(smbScheduleString)" : ""
+                .smbIsScheduledOff ? String(localized: "SMBs Off\(smbScheduleString)") : ""
+
+            var smbMinuteString: String = ""
+            var uamMinuteString: String = ""
+
+            if !latestOverride.smbIsOff || !latestOverride.smbIsScheduledOff {
+                if let smbMinutes = latestOverride.smbMinutes,
+                   smbMinutes.decimalValue != settingsManager.preferences.maxSMBBasalMinutes
+                {
+                    smbMinuteString = "SMB\u{00A0}\(smbMinutes)\u{00A0}" +
+                        String(localized: "m", comment: "Abbreviation for Minutes")
+                }
+
+                if let uamMinutes = latestOverride.uamMinutes,
+                   uamMinutes.decimalValue != settingsManager.preferences.maxUAMSMBBasalMinutes
+                {
+                    uamMinuteString = "UAM\u{00A0}\(uamMinutes)\u{00A0}" +
+                        String(localized: "m", comment: "Abbreviation for Minutes")
+                }
+            }
 
 
-            let components = [durationString, percentString, targetString, smbToggleString].filter { !$0.isEmpty }
+            let components = [durationString, percentString, targetString, smbToggleString, smbMinuteString, uamMinuteString]
+                .filter { !$0.isEmpty }
             return components.isEmpty ? nil : components.joined(separator: ", ")
             return components.isEmpty ? nil : components.joined(separator: ", ")
         }
         }