Bläddra i källkod

Change on tap
Change display of either Average / Median and CV / SD when clicking text

Jon Mårtensson 3 år sedan
förälder
incheckning
707c85bfb8

+ 0 - 2
FreeAPS/Sources/Models/Preferences.swift

@@ -56,7 +56,6 @@ struct Preferences: JSON {
     var high: Decimal = 10
     var low: Decimal = 4
     var updateInterval: Decimal = 30
-    var displaySD: Bool = false
     var overrideHbA1cUnit: Bool = false
     var displayLoops: Bool = false
 }
@@ -117,7 +116,6 @@ extension Preferences {
         case high
         case low
         case updateInterval
-        case displaySD
         case overrideHbA1cUnit
         case displayLoops
     }

+ 0 - 3
FreeAPS/Sources/Modules/Home/HomeStateModel.swift

@@ -48,7 +48,6 @@ extension Home {
         @Published var units: GlucoseUnits = .mmolL
         @Published var low: Decimal = 4
         @Published var high: Decimal = 10
-        @Published var displaySD = false
         @Published var displayLoops = false
         @Published var pumpDisplayState: PumpDisplayState?
         @Published var alarm: GlucoseAlarm?
@@ -73,7 +72,6 @@ extension Home {
             displayStatistics = settingsManager.settings.displayStatistics
             low = settingsManager.preferences.low
             high = settingsManager.preferences.high
-            displaySD = settingsManager.preferences.displaySD
             displayLoops = settingsManager.preferences.displayLoops
             enactedSuggestion = provider.enactedSuggestion
             units = settingsManager.settings.units
@@ -384,7 +382,6 @@ extension Home.StateModel:
         closedLoop = settingsManager.settings.closedLoop
         low = settingsManager.preferences.low
         high = settingsManager.preferences.high
-        displaySD = settingsManager.preferences.displaySD
         displayLoops = settingsManager.preferences.displayLoops
         units = settingsManager.settings.units
         animatedBackground = settingsManager.settings.animatedBackground

+ 40 - 17
FreeAPS/Sources/Modules/Home/View/HomeRootView.swift

@@ -11,6 +11,16 @@ extension Home {
         @State var isStatusPopupPresented = false
         @State var selectedState: durationState
 
+        // Average/Median and CV/SD titles and values switches when you click them
+        @State var averageOrMedianTitle = NSLocalizedString("Average", comment: "")
+        @State var median_ = ""
+        @State var average_ = ""
+        @State var averageOrmedian = ""
+        @State var CV_or_SD_Title = NSLocalizedString("CV", comment: "CV")
+        @State var cv_ = ""
+        @State var sd_ = ""
+        @State var CVorSD = ""
+
         public let paddingSpace: CGFloat = 15
 
         private var numberFormatter: NumberFormatter {
@@ -363,7 +373,7 @@ extension Home {
         @ViewBuilder private func averageTIRhca1c(
             _ hba1c_all: String,
             _ average_: String,
-            _: String,
+            _ median_: String,
             _ tir_low: String,
             _ tir_high: String,
             _ tir_: String,
@@ -388,25 +398,38 @@ extension Home {
                         }
                     }
 
+                    // Average as default. Changes to Median when clicking.
+                    let textAverageTitle = NSLocalizedString("Average", comment: "")
+                    let textMedianTitle = NSLocalizedString("Median", comment: "")
+
                     HStack {
-                        Text(NSLocalizedString("Average", comment: "")).font(.footnote).foregroundColor(.secondary)
-                        Text(average_).font(.footnote)
-                    }.frame(minWidth: 110)
+                        Text(averageOrMedianTitle).font(.footnote).foregroundColor(.secondary)
+                        Text(averageOrmedian == "" ? average_ : averageOrmedian).font(.footnote)
+                    }.onTapGesture {
+                        if averageOrMedianTitle == textAverageTitle {
+                            averageOrMedianTitle = textMedianTitle
+                            averageOrmedian = median_
+                        } else {
+                            averageOrMedianTitle = textAverageTitle
+                            averageOrmedian = average_
+                        }
+                    }
+                    .frame(minWidth: 110)
 
-                    if !state.settingsManager.preferences.displaySD {
-                        HStack {
-                            Text(
-                                NSLocalizedString("CV", comment: "CV")
-                            ).font(.footnote).foregroundColor(.secondary)
+                    // CV as default. Changes to SD when clicking
+                    let text_CV_Title = NSLocalizedString("CV", comment: "")
+                    let text_SD_Title = NSLocalizedString("SD", comment: "")
 
-                            Text(cv_).font(.footnote)
-                        }
-                    } else {
-                        HStack {
-                            Text(
-                                NSLocalizedString("SD", comment: "SD")
-                            ).font(.footnote).foregroundColor(.secondary)
-                            Text(sd_).font(.footnote)
+                    HStack {
+                        Text(CV_or_SD_Title).font(.footnote).foregroundColor(.secondary)
+                        Text(CVorSD == "" ? cv_ : CVorSD).font(.footnote)
+                    }.onTapGesture {
+                        if CV_or_SD_Title == text_CV_Title {
+                            CV_or_SD_Title = text_SD_Title
+                            CVorSD = sd_
+                        } else {
+                            CV_or_SD_Title = text_CV_Title
+                            CVorSD = cv_
                         }
                     }
                 }

+ 0 - 12
FreeAPS/Sources/Modules/PreferencesEditor/PreferencesEditorStateModel.swift

@@ -67,18 +67,6 @@ extension PreferencesEditor {
                 ),
                 Field(
                     displayName: NSLocalizedString(
-                        "Display SD instead of CV",
-                        comment: "Display SD"
-                    ),
-                    type: .boolean(keypath: \.displaySD),
-                    infoText: NSLocalizedString(
-                        "Display Standard Deviation (SD) instead of Coefficient of Variation (CV) in statPanel",
-                        comment: "Description for display SD"
-                    ),
-                    settable: self
-                ),
-                Field(
-                    displayName: NSLocalizedString(
                         "Display Loop Cycle statistics",
                         comment: "Display Display Loop Cycle statistics in statPanel"
                     ),