Explorar o código

Add portion button and confirm deletion of preset.

Jon Mårtensson %!s(int64=3) %!d(string=hai) anos
pai
achega
56d2063253
Modificáronse 1 ficheiros con 25 adicións e 4 borrados
  1. 25 4
      FreeAPS/Sources/Modules/AddCarbs/View/AddCarbsRootView.swift

+ 25 - 4
FreeAPS/Sources/Modules/AddCarbs/View/AddCarbsRootView.swift

@@ -9,6 +9,7 @@ extension AddCarbs {
         @State var dish: String = ""
         @State var isPromtPresented = false
         @State var saved = false
+        @State private var showAlert = false
 
         @FetchRequest(
             entity: Presets.entity(),
@@ -106,12 +107,32 @@ extension AddCarbs {
                         state.protein = ((state.selection?.protein ?? 0) as NSDecimalNumber) as Decimal
                     }
                 }
-                Button {
-                    state.deletePreset()
-                }
-                label: { Text("Delete Selected Preset") }
+                HStack {
+                    Button("Delete Preset") {
+                        showAlert.toggle()
+                    }
                     .disabled(state.selection == nil)
                     .accentColor(.orange)
+                    .buttonStyle(BorderlessButtonStyle())
+                    .alert(
+                        "Delete preset '\(state.selection?.dish ?? "")'?",
+                        isPresented: $showAlert,
+                        actions: {
+                            Button("No", role: .cancel) {}
+                            Button("Yes", role: .destructive) {
+                                state.deletePreset()
+                            }
+                        }
+                    )
+                    Button {
+                        state.carbs += ((state.selection?.carbs ?? 0) as NSDecimalNumber) as Decimal
+                        state.fat += ((state.selection?.fat ?? 0) as NSDecimalNumber) as Decimal
+                        state.protein += ((state.selection?.protein ?? 0) as NSDecimalNumber) as Decimal }
+                    label: { Text("+ 1") }
+                        .disabled(state.selection == nil)
+                        .buttonStyle(BorderlessButtonStyle())
+                        .frame(maxWidth: .infinity, alignment: .trailing)
+                }
             }
         }