فهرست منبع

fix: hide label instead

bastiaanv 2 ماه پیش
والد
کامیت
a348dd2106

+ 1 - 1
Trio/Sources/Localizations/Main/Localizable.xcstrings

@@ -209296,7 +209296,7 @@
         }
       }
     },
-    "Show SMB in Chart" : {
+    "Show SMB label in Chart" : {
 
     },
     "Show X-Axis Grid Lines" : {

+ 1 - 1
Trio/Sources/Models/TrioSettings.swift

@@ -54,7 +54,7 @@ struct TrioSettings: JSON, Equatable {
     var xGridLines: Bool = true
     var yGridLines: Bool = true
     var rulerMarks: Bool = true
-    var showSmbInChart: Bool = true
+    var showSmbLabelInChart: Bool = true
     var forecastDisplayType: ForecastDisplayType = .cone
     var maxCarbs: Decimal = 250
     var maxFat: Decimal = 250

+ 0 - 5
Trio/Sources/Modules/Home/HomeStateModel+Setup/PumpHistorySetup.swift

@@ -38,11 +38,6 @@ extension Home.StateModel {
     }
 
     @MainActor private func updateInsulinArray(with insulinObjects: [PumpEventStored]) {
-        var insulinObjects = insulinObjects
-        if !showSmb {
-            insulinObjects = insulinObjects.filter({ $0.bolus == nil || $0.bolus?.isSMB != true })
-        }
-
         insulinFromPersistence = insulinObjects
 
         manualTempBasal = apsManager.isManualTempBasal

+ 3 - 3
Trio/Sources/Modules/Home/HomeStateModel.swift

@@ -76,7 +76,7 @@ extension Home {
         var displayXgridLines: Bool = false
         var displayYgridLines: Bool = false
         var thresholdLines: Bool = false
-        var showSmb: Bool = true
+        var showSmbLabel: Bool = true
         var hours: Int16 = 6
         var totalBolus: Decimal = 0
         var isLoopStatusPresented: Bool = false
@@ -405,7 +405,7 @@ extension Home {
             eA1cDisplayUnit = settingsManager.settings.eA1cDisplayUnit
             displayXgridLines = settingsManager.settings.xGridLines
             displayYgridLines = settingsManager.settings.yGridLines
-            showSmb = settingsManager.settings.showSmbInChart
+            showSmbLabel = settingsManager.settings.showSmbLabelInChart
             thresholdLines = settingsManager.settings.rulerMarks
             showCarbsRequiredBadge = settingsManager.settings.showCarbsRequiredBadge
             forecastDisplayType = settingsManager.settings.forecastDisplayType
@@ -670,7 +670,7 @@ extension Home.StateModel:
         displayXgridLines = settingsManager.settings.xGridLines
         displayYgridLines = settingsManager.settings.yGridLines
         thresholdLines = settingsManager.settings.rulerMarks
-        showSmb = settingsManager.settings.showSmbInChart
+        showSmbLabel = settingsManager.settings.showSmbLabelInChart
         showCarbsRequiredBadge = settingsManager.settings.showCarbsRequiredBadge
         forecastDisplayType = settingsManager.settings.forecastDisplayType
         cgmAvailable = (fetchGlucoseManager.cgmGlucoseSourceType != CGMType.none)

+ 3 - 1
Trio/Sources/Modules/Home/View/Chart/ChartElements/InsulinView.swift

@@ -6,6 +6,7 @@ struct InsulinView: ChartContent {
     let glucoseData: [GlucoseStored]
     let insulinData: [PumpEventStored]
     let units: GlucoseUnits
+    let showSmbLabel: Bool
 
     var body: some ChartContent {
         drawBoluses()
@@ -13,6 +14,7 @@ struct InsulinView: ChartContent {
 
     private func drawBoluses() -> some ChartContent {
         ForEach(insulinData) { insulin in
+            let isSmb = insulin.bolus?.isSMB ?? false
             let amount = insulin.bolus?.amount ?? 0 as NSDecimalNumber
             let bolusDate = insulin.timestamp ?? Date()
 
@@ -32,7 +34,7 @@ struct InsulinView: ChartContent {
                     Image(systemName: "arrowtriangle.down.fill").font(.system(size: size)).foregroundStyle(Color.insulin)
                 }
                 .annotation(position: .top) {
-                    Text(Formatter.bolusFormatter.string(from: amount) ?? "")
+                    Text(!showSmbLabel && isSmb ? "" : Formatter.bolusFormatter.string(from: amount) ?? "")
                         .font(.caption2)
                         .foregroundStyle(Color.primary)
                 }

+ 2 - 1
Trio/Sources/Modules/Home/View/Chart/MainChartView.swift

@@ -149,7 +149,8 @@ extension MainChartView {
                 InsulinView(
                     glucoseData: state.glucoseFromPersistence,
                     insulinData: state.insulinFromPersistence,
-                    units: state.units
+                    units: state.units,
+                    showSmbLabel: state.showSmbLabel
                 )
 
                 CarbView(

+ 2 - 2
Trio/Sources/Modules/UserInterfaceSettings/UserInterfaceSettingsStateModel.swift

@@ -7,7 +7,7 @@ extension UserInterfaceSettings {
         @Published var xGridLines = false
         @Published var yGridLines: Bool = false
         @Published var rulerMarks: Bool = true
-        @Published var showSmbInChart: Bool = true
+        @Published var showSmbLabelInChart: Bool = true
         @Published var forecastDisplayType: ForecastDisplayType = .cone
         @Published var showCarbsRequiredBadge: Bool = true
         @Published var carbsRequiredThreshold: Decimal = 0
@@ -24,7 +24,7 @@ extension UserInterfaceSettings {
             subscribeSetting(\.xGridLines, on: $xGridLines) { xGridLines = $0 }
             subscribeSetting(\.yGridLines, on: $yGridLines) { yGridLines = $0 }
             subscribeSetting(\.rulerMarks, on: $rulerMarks) { rulerMarks = $0 }
-            subscribeSetting(\.showSmbInChart, on: $showSmbInChart) { showSmbInChart = $0 }
+            subscribeSetting(\.showSmbLabelInChart, on: $showSmbLabelInChart) { showSmbLabelInChart = $0 }
 
             subscribeSetting(\.forecastDisplayType, on: $forecastDisplayType) { forecastDisplayType = $0 }
 

+ 1 - 1
Trio/Sources/Modules/UserInterfaceSettings/View/UserInterfaceSettingsRootView.swift

@@ -162,7 +162,7 @@ extension UserInterfaceSettings {
                         VStack {
                             Toggle("Show X-Axis Grid Lines", isOn: $state.xGridLines)
                             Toggle("Show Y-Axis Grid Lines", isOn: $state.yGridLines)
-                            Toggle("Show SMB in Chart", isOn: $state.showSmbInChart)
+                            Toggle("Show SMB label in Chart", isOn: $state.showSmbLabelInChart)
 
                             HStack(alignment: .center) {
                                 Text(