Sfoglia il codice sorgente

need to assign name to TT preset

* enacting a non-preset TT assigns Custom Target as Target name if non specified
* Align hint in center
Robert 1 anno fa
parent
commit
52ccefa7bf

+ 11 - 4
FreeAPS/Sources/Modules/OverrideConfig/View/AddTempTargetForm.swift

@@ -87,7 +87,7 @@ struct AddTempTargetForm: View {
                 HStack {
                     Text("Name")
                     Spacer()
-                    TextField("Enter Name (optional)", text: $state.tempTargetName)
+                    TextField("Enter Name", text: $state.tempTargetName)
                         .multilineTextAlignment(.trailing)
                 }
 
@@ -277,23 +277,30 @@ struct AddTempTargetForm: View {
     }
 
     private var saveButton: some View {
-        let (isInvalid, errorMessage) = isTempTargetInvalid()
+        var (isInvalid, errorMessage) = isTempTargetInvalid()
+        let noNameSpecified = state.tempTargetName == ""
+        if errorMessage == nil && noNameSpecified {
+            errorMessage = "To save Preset assign a name!"
+        }
 
         return Group {
             if errorMessage != nil {
                 Section {
-                    VStack(alignment: .center) {
+                    HStack {
+                        Spacer()
                         Text(errorMessage ?? "")
                             .textCase(nil)
                             .font(.footnote)
                             .lineLimit(1)
                             .minimumScaleFactor(0.5)
+                        Spacer()
                     }
                 }.listRowBackground(Color.tabBar)
             }
             Section {
                 Button(action: {
                     Task {
+                        if noNameSpecified { state.tempTargetName = "Custom Target" }
                         didPressSave.toggle()
                         state.isTempTargetEnabled.toggle()
                         await state.saveCustomTempTarget()
@@ -320,7 +327,7 @@ struct AddTempTargetForm: View {
                     Text("Save as Preset")
 
                 })
-                    .disabled(isInvalid)
+                    .disabled(isInvalid || noNameSpecified)
                     .frame(maxWidth: .infinity, alignment: .center)
                     .tint(.white)
             }