Selaa lähdekoodia

fix target picker for addOverrideForm, ...

remove unused roundTargetToStep,
remove setting selection when changing targetStep
Mike Plante 1 vuosi sitten
vanhempi
commit
885439c574

+ 1 - 1
FreeAPS/Sources/Modules/OverrideConfig/OverrideStateModel.swift

@@ -1122,7 +1122,7 @@ struct TargetPicker: View {
                     get: { OverrideConfig.StateModel.roundTargetToStep(selection, targetStep) },
                     set: {
                         selection = $0
-                        hasChanges?.wrappedValue = true // This safely updates if hasChanges is provided
+                        hasChanges?.wrappedValue = true
                     }
                 ), label: Text("")) {
                     ForEach(options, id: \.self) { option in

+ 4 - 1
FreeAPS/Sources/Modules/OverrideConfig/View/AddOverrideForm.swift

@@ -68,7 +68,10 @@ struct AddOverrideForm: View {
                     )
                 }
             }
-            .onAppear { targetStep = state.units == .mgdL ? 5 : 9 }
+            .onAppear {
+                targetStep = state.units == .mgdL ? 5 : 9
+                state.target = state.normalTarget
+            }
             .sheet(isPresented: $state.isHelpSheetPresented) {
                 NavigationStack {
                     List {

+ 0 - 22
FreeAPS/Sources/Modules/OverrideConfig/View/AddTempTargetForm.swift

@@ -349,28 +349,6 @@ struct AddTempTargetForm: View {
         return "\(formattedValue) \(state.units.rawValue)"
     }
 
-    private func roundTargetToStep(_ target: Decimal, _ step: Decimal) -> Decimal {
-        // Convert target and step to NSDecimalNumber
-        guard let targetValue = NSDecimalNumber(decimal: target).doubleValue as Double?,
-              let stepValue = NSDecimalNumber(decimal: step).doubleValue as Double?
-        else {
-            print("Failed to unwrap target or step as NSDecimalNumber")
-            return target
-        }
-
-        // Perform the remainder check using truncatingRemainder
-        let remainder = Decimal(targetValue.truncatingRemainder(dividingBy: stepValue))
-
-        if remainder != 0 {
-            // Calculate how much to adjust (up or down) based on the remainder
-            let adjustment = step - remainder
-            return target + adjustment
-        }
-
-        // Return the original target if no adjustment is needed
-        return target
-    }
-
     private func toggleScrollWheel(_ toggle: Bool) -> Bool {
         displayPickerDuration = false
         displayPickerTarget = false