polscm32 aka Marvout 1 год назад
Родитель
Сommit
6b52c24504

+ 1 - 0
FreeAPS/Sources/APS/Storage/TempTargetsStorage.swift

@@ -104,6 +104,7 @@ final class BaseTempTargetsStorage: TempTargetsStorage, Injectable {
 
             if let newActive = updatedTargets.last(where: { $0.isActive }) {
                 // Cancel current target
+                // This logic to add a new cancel Temp target to cancel the current one is so fucking dumb...
                 updatedTargets.append(.cancel(at: newActive.createdAt.addingTimeInterval(-1)))
             }
 

+ 5 - 21
FreeAPS/Sources/Modules/OverrideConfig/View/OverrideRootView.swift

@@ -395,30 +395,14 @@ extension OverrideConfig {
                         Task {
                             let objectID = preset.objectID
                             await state.enactTempTargetPreset(withID: objectID)
-//                            state.hideModal() // is this needed???
                             selectedTempTargetPresetID = preset.id?.uuidString
-                            // TODO: - add checkmark here when preset was selected
-                        }
-                    }
+                            showCheckmark.toggle()
 
-                    Image(systemName: "xmark.circle").foregroundColor(showCheckmark && isSelected ? Color.clear : Color.secondary)
-                        .contentShape(Rectangle())
-                        .padding(.vertical)
-                        .onTapGesture {
-                            removeAlert = Alert(
-                                title: Text("Are you sure?"),
-                                message: Text("Delete preset \"\(preset.name ?? "")\""),
-                                primaryButton: .destructive(Text("Delete"), action: {
-                                    // TODO: add deletion for Presets
-//                                    state.removePreset(id: preset.id)
-                                }),
-                                secondaryButton: .cancel()
-                            )
-                            isRemoveAlertPresented = true
-                        }
-                        .alert(isPresented: $isRemoveAlertPresented) {
-                            removeAlert!
+                            DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
+                                showCheckmark = false
+                            }
                         }
+                    }
                 }
                 if showCheckmark && isSelected {
                     // show checkmark to indicate if the preset was actually pressed