2 Коміти e29a46b4eb ... 46ff6a9c41

Автор SHA1 Опис Дата
  Sam Jaffe 46ff6a9c41 refactor: alert on autosave 2 тижнів тому
  Sam Jaffe a3c5d0925b refactor: use if let in TagBarView to be more idiomatic 2 тижнів тому
2 змінених файлів з 12 додано та 4 видалено
  1. 9 0
      Todos/View/ContentView.swift
  2. 3 4
      Todos/View/TagBarView.swift

+ 9 - 0
Todos/View/ContentView.swift

@@ -15,6 +15,7 @@ struct ContentView: View {
 
   @Query(sort: \Project.sortOrder) private var items: [Project]
   @State private var selection: Project?
+  @State private var hasAutosave: Bool = false
 
   var body: some View {
     NavigationSplitView {
@@ -47,6 +48,13 @@ struct ContentView: View {
       }
     }
     .onAppear(perform: autosave)
+    .alert("Autosave", isPresented: $hasAutosave) {
+      Button("OK") {
+        hasAutosave = false
+      }
+    } message: {
+      Text("All completed tasks/subtasks have been deleted")
+    }
   }
 
   private func addItem() {
@@ -86,6 +94,7 @@ struct ContentView: View {
     SaveController.save(items, toUrl: SaveController.filename(date: ymd))
     weekStart = now
     cleanup()
+    hasAutosave = true
   }
 
   private func cleanup() {

+ 3 - 4
Todos/View/TagBarView.swift

@@ -19,10 +19,9 @@ struct TagBarView: View {
   var body: some View {
     HStack {
       ForEach($task.tags) { tag in
-        let url = allHints.filter({ $0.matches(tag.wrappedValue) })
-          .first?.url(tag.wrappedValue)
-        if url != nil {
-          Link(destination: url!) {
+        if let url = allHints.filter({ $0.matches(tag.wrappedValue) })
+          .first?.url(tag.wrappedValue) {
+          Link(destination: url) {
             Label("", systemImage: "link")
           }
           .padding(.leading, -8)