Просмотр исходного кода

refactor: add hover controls for notes field

Sam Jaffe 3 недель назад
Родитель
Сommit
65fdff9b54
1 измененных файлов с 15 добавлено и 10 удалено
  1. 15 10
      Todos/View/TaskView.swift

+ 15 - 10
Todos/View/TaskView.swift

@@ -9,20 +9,25 @@ import SwiftUI
 
 struct TaskView: View {
   @Binding var task: Task
+  @State var showNotes: Bool = false
   
   var body: some View {
-    HStack {
-      Picker(""  /* TODO: Add Icons */, selection: $task.status) {
-        ForEach(Status.allCases) { unit in
-          Text(String(describing: unit))
-        }
-      }.scaledToFit()
-      TextField("Task Name", text: $task.name)
-    }
-    HStack {
-      TextField("Notes", text: $task.notes)
+    VStack {
+      HStack {
+        Picker(""  /* TODO: Add Icons */, selection: $task.status) {
+          ForEach(Status.allCases) { unit in
+            Text(String(describing: unit))
+          }
+        }.scaledToFit()
+        TextField("Task Name", text: $task.name)
+      }
+      if showNotes {
+        TextField("Notes", text: $task.notes)
           .font(.footnote)
           .padding(.leading, 30)
+      }
+    }.onHover { yes in
+      showNotes = yes || !task.notes.isEmpty
     }
   }
 }