Prechádzať zdrojové kódy

show temp target range

Ivan Valkou 5 rokov pred
rodič
commit
4ac0526d0d

+ 1 - 1
FreeAPS/Resources/Info.plist

@@ -17,7 +17,7 @@
 	<key>CFBundleShortVersionString</key>
 	<string>$(MARKETING_VERSION)</string>
 	<key>CFBundleVersion</key>
-	<string>244</string>
+	<string>245</string>
 	<key>LSApplicationQueriesSchemes</key>
 	<array>
 		<string>dexcomg6</string>

+ 1 - 1
FreeAPS/Sources/Models/TempTarget.swift

@@ -10,7 +10,7 @@ struct TempTarget: JSON, Identifiable, Equatable {
     let enteredBy: String?
 
     static let manual = "freeaps-x://manual"
-    static let custom = "Custom temp target"
+    static let custom = "Temp target"
     static let cancel = "Cancel"
 }
 

+ 7 - 3
FreeAPS/Sources/Modules/Home/HomeViewModel.swift

@@ -32,7 +32,7 @@ extension Home {
         @Published var reservoir: Decimal?
         @Published var pumpName = "Pump"
         @Published var pumpExpiresAtDate: Date?
-        @Published var tempTargetName: String?
+        @Published var tempTarget: TempTarget?
         @Published var setupPump = false
 
         @Published var allowManualTemp = false
@@ -64,7 +64,7 @@ extension Home {
                 lastLoopDate = suggestion?.timestamp ?? .distantPast
             }
 
-            tempTargetName = provider.tempTarget()?.name
+            setupCurrentTempTarget()
 
             broadcaster.register(GlucoseObserver.self, observer: self)
             broadcaster.register(SuggestionObserver.self, observer: self)
@@ -81,7 +81,7 @@ extension Home {
             timer.eventHandler = {
                 DispatchQueue.main.async {
                     self.timerDate = Date()
-                    self.tempTargetName = self.provider.tempTarget()?.name
+                    self.setupCurrentTempTarget()
                 }
             }
             timer.resume()
@@ -232,6 +232,10 @@ extension Home {
             }
         }
 
+        private func setupCurrentTempTarget() {
+            tempTarget = provider.tempTarget()
+        }
+
         func openCGM() {
             guard var url = nightscoutManager.cgmURL else { return }
 

+ 39 - 2
FreeAPS/Sources/Modules/Home/View/HomeRootView.swift

@@ -13,6 +13,13 @@ extension Home {
             return formatter
         }
 
+        private var targetFormatter: NumberFormatter {
+            let formatter = NumberFormatter()
+            formatter.numberStyle = .decimal
+            formatter.maximumFractionDigits = 1
+            return formatter
+        }
+
         var header: some View {
             HStack(alignment: .bottom) {
                 Spacer()
@@ -79,8 +86,38 @@ extension Home {
                         .padding(.leading, 8)
                 }
 
-                if let tepmTargetName = viewModel.tempTargetName {
-                    Text(tepmTargetName).font(.caption).foregroundColor(.secondary)
+                if let tepmTarget = viewModel.tempTarget {
+                    Text(tepmTarget.name).font(.caption).foregroundColor(.secondary)
+                    if viewModel.units == .mmolL {
+                        Text(
+                            targetFormatter
+                                .string(from: tepmTarget.targetBottom.asMmolL as NSNumber)! + " \(viewModel.units.rawValue)"
+                        )
+                        .font(.caption)
+                        .foregroundColor(.secondary)
+                        if tepmTarget.targetBottom != tepmTarget.targetTop {
+                            Text("-").font(.caption)
+                                .foregroundColor(.secondary)
+                            Text(
+                                targetFormatter
+                                    .string(from: tepmTarget.targetTop.asMmolL as NSNumber)! + " \(viewModel.units.rawValue)"
+                            )
+                            .font(.caption)
+                            .foregroundColor(.secondary)
+                        }
+
+                    } else {
+                        Text(targetFormatter.string(from: tepmTarget.targetBottom as NSNumber)! + " \(viewModel.units.rawValue)")
+                            .font(.caption)
+                            .foregroundColor(.secondary)
+                        if tepmTarget.targetBottom != tepmTarget.targetTop {
+                            Text("-").font(.caption)
+                                .foregroundColor(.secondary)
+                            Text(targetFormatter.string(from: tepmTarget.targetTop as NSNumber)! + " \(viewModel.units.rawValue)")
+                                .font(.caption)
+                                .foregroundColor(.secondary)
+                        }
+                    }
                 }
                 Spacer()
             }