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

Moved to Trio/Sources/Helpers/Formatters.swift

Milen Minev 10 месяцев назад
Родитель
Сommit
d13b514890

+ 3 - 0
Trio/Sources/Helpers/Formatters.swift

@@ -32,6 +32,7 @@ extension Formatter {
     static let decimalFormatterWithTwoFractionDigits: NumberFormatter = {
     static let decimalFormatterWithTwoFractionDigits: NumberFormatter = {
         let formatter = NumberFormatter()
         let formatter = NumberFormatter()
         formatter.numberStyle = .decimal
         formatter.numberStyle = .decimal
+        formatter.locale = .current
         formatter.maximumFractionDigits = 2
         formatter.maximumFractionDigits = 2
         return formatter
         return formatter
     }()
     }()
@@ -51,6 +52,7 @@ extension Formatter {
     static let decimalFormatterWithOneFractionDigit: NumberFormatter = {
     static let decimalFormatterWithOneFractionDigit: NumberFormatter = {
         let formatter = NumberFormatter()
         let formatter = NumberFormatter()
         formatter.numberStyle = .decimal
         formatter.numberStyle = .decimal
+        formatter.locale = .current
         formatter.maximumFractionDigits = 1
         formatter.maximumFractionDigits = 1
         return formatter
         return formatter
     }()
     }()
@@ -69,6 +71,7 @@ extension Formatter {
 
 
         switch units {
         switch units {
         case .mmolL:
         case .mmolL:
+            formatter.locale = .current
             formatter.minimumFractionDigits = 1
             formatter.minimumFractionDigits = 1
             formatter.maximumFractionDigits = 1
             formatter.maximumFractionDigits = 1
         case .mgdL:
         case .mgdL:

+ 2 - 30
Trio/Sources/Modules/Treatments/View/ForecastChart.swift

@@ -20,35 +20,6 @@ struct ForecastChart: View {
             )) // min is 1.5h -> (1.5*1h = 1.5*(5*12*60))
             )) // min is 1.5h -> (1.5*1h = 1.5*(5*12*60))
     }
     }
 
 
-    // Cached formatters
-    private static let glucoseFormatterMgDL: NumberFormatter = {
-        let formatter = NumberFormatter()
-        formatter.numberStyle = .decimal
-        formatter.maximumFractionDigits = 0
-        return formatter
-    }()
-
-    private static let glucoseFormatterMmolL: NumberFormatter = {
-        let formatter = NumberFormatter()
-        formatter.numberStyle = .decimal
-        formatter.maximumFractionDigits = 1
-        formatter.minimumFractionDigits = 1
-        formatter.roundingMode = .halfUp
-        return formatter
-    }()
-
-    private var glucoseFormatter: NumberFormatter {
-        state.units == .mmolL ? Self.glucoseFormatterMmolL : Self.glucoseFormatterMgDL
-    }
-
-    private static let amountFormatter: NumberFormatter = {
-        let formatter = NumberFormatter()
-        formatter.numberStyle = .decimal
-        formatter.locale = .current
-        formatter.maximumFractionDigits = 2
-        return formatter
-    }()
-
     private var selectedGlucose: GlucoseStored? {
     private var selectedGlucose: GlucoseStored? {
         guard let selection = selection else { return nil }
         guard let selection = selection else { return nil }
         let range = selection.addingTimeInterval(-150) ... selection.addingTimeInterval(150)
         let range = selection.addingTimeInterval(-150) ... selection.addingTimeInterval(150)
@@ -88,7 +59,8 @@ struct ForecastChart: View {
 
 
             HStack {
             HStack {
                 Image(systemName: "syringe.fill")
                 Image(systemName: "syringe.fill")
-                Text("\(Self.amountFormatter.string(from: state.amount as NSNumber) ?? state.amount.description) U")
+                Text("\(Formatter.decimalFormatterWithTwoFractionDigits.string(from: state.amount as NSNumber) ?? state.amount.description) U")
+
             }
             }
 
 
             .font(.footnote)
             .font(.footnote)