Robert 1 год назад
Родитель
Сommit
318e55769b
1 измененных файлов с 21 добавлено и 6 удалено
  1. 21 6
      FreeAPS/Sources/Modules/OverrideConfig/View/AddTempTargetForm.swift

+ 21 - 6
FreeAPS/Sources/Modules/OverrideConfig/View/AddTempTargetForm.swift

@@ -170,12 +170,18 @@ struct AddTempTargetForm: View {
                             // Radio buttons for step iteration
                             let stepChoices: [Decimal] = state.units == .mgdL ? [1, 5] : [1, 9]
                             ForEach(stepChoices, id: \.self) { step in
+                                let label = (state.units == .mgdL ? step.description : step.formattedAsMmolL) + " " +
+                                    state.units.rawValue
+
                                 RadioButton(
                                     isSelected: targetStep == step,
-                                    label: "\(state.units == .mgdL ? step : step.asMmolL) \(state.units.rawValue)"
+                                    label: label
                                 ) {
                                     targetStep = step
-                                    state.tempTargetTarget = roundTargetToStep(state.tempTargetTarget, targetStep)
+                                    state.tempTargetTarget = OverrideConfig.StateModel.roundTargetToStep(
+                                        state.tempTargetTarget,
+                                        targetStep
+                                    )
                                 }
                                 .padding(.top, 10)
                             }
@@ -185,16 +191,25 @@ struct AddTempTargetForm: View {
                         Spacer()
 
                         // Picker on the right side
+                        let settingsProvider = PickerSettingsProvider.shared
+                        let glucoseSetting = PickerSetting(value: 0, step: targetStep, min: 80, max: 270, type: .glucose)
                         Picker(selection: Binding(
-                            get: { roundTargetToStep(state.tempTargetTarget, targetStep) },
+                            get: { OverrideConfig.StateModel.roundTargetToStep(state.tempTargetTarget, targetStep) },
                             set: { state.tempTargetTarget = $0 }
                         ), label: Text("")) {
                             ForEach(
-                                generateTargetPickerValues(),
+                                settingsProvider.generatePickerValues(
+                                    from: glucoseSetting,
+                                    units: state.units,
+                                    roundMinToStep: true
+                                ),
                                 id: \.self
                             ) { glucose in
-                                Text(formattedGlucose(glucose: glucose))
-                                    .tag(glucose)
+                                Text(
+                                    (state.units == .mgdL ? glucose.description : glucose.formattedAsMmolL) + " " + state
+                                        .units.rawValue
+                                )
+                                .tag(glucose)
                             }
                         }
                         .pickerStyle(WheelPickerStyle())