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

Merge pull request #704 from Sjoerd-Bo3/fix/isf-chart-mmol-axis-issue-557

fix: ISF chart Y-axis formatting for mmol/L units
Deniz Cengiz 5 месяцев назад
Родитель
Сommit
34eac36d17

+ 7 - 3
Trio/Sources/Modules/Onboarding/View/OnboardingSteps/TherapySettings/InsulinSensitivityStepView.swift

@@ -145,7 +145,7 @@ struct InsulinSensitivityStepView: View {
     private var isfChart: some View {
         Chart {
             ForEach(Array(state.isfItems.enumerated()), id: \.element.id) { index, item in
-                let displayValue = state.isfRateValues[item.rateIndex]
+                let displayValue = state.units == .mgdL ? state.isfRateValues[item.rateIndex] : state.isfRateValues[item.rateIndex].asMmolL
 
                 let startDate = Calendar.current
                     .startOfDay(for: now)
@@ -196,8 +196,12 @@ struct InsulinSensitivityStepView: View {
                 .addingTimeInterval(60 * 60 * 24)
         )
         .chartYAxis {
-            AxisMarks(values: .automatic(desiredCount: 4)) { _ in
-                AxisValueLabel()
+            AxisMarks(values: .automatic(desiredCount: 4)) { value in
+                if let val = value.as(Double.self) {
+                    AxisValueLabel {
+                        Text(numberFormatter.string(from: NSNumber(value: val)) ?? "")
+                    }
+                }
                 AxisGridLine(centered: true, stroke: StrokeStyle(lineWidth: 1, dash: [2, 4]))
             }
         }