Watch: snooze finished threads, name the files a file approval would edit, Settle on finished notifications, an instant launch from the saved feed, plain Loading states, and no more cancelled errors
Gateway: an approval push for a file change says which files it would edit
This commit is contained in:
1 parent
4dc4e57dac
commit
edc4b88990
35 files changed
+1162
-144
No files matched your search
@@ -104,7 +104,7 @@ struct ProjectThreadsView: View {
|
||||
rows = try await model.api.projectThreads(hostId: hostId, projectId: projectId).items
|
||||
error = nil
|
||||
} catch {
|
||||
self.error = model.message(for: error)
|
||||
if let message = model.message(for: error) { self.error = message }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -166,7 +166,7 @@ struct SearchView: View {
|
||||
response = try await model.api.search(query)
|
||||
error = nil
|
||||
} catch {
|
||||
self.error = model.message(for: error)
|
||||
if let message = model.message(for: error) { self.error = message }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -276,8 +276,9 @@ struct ThreadLine<Trailing: View>: View {
|
||||
}
|
||||
}
|
||||
|
||||
/// The List each browse screen scrolls, with loading, an error and Try again. Loads on appear.
|
||||
/// `header` shows above the rows even while they load.
|
||||
/// The List each browse screen scrolls, with Loading, an error and Try again. Loads on appear.
|
||||
/// `header` shows above the rows even while they load. Once rows show, a failed reload only adds a
|
||||
/// dim line under them.
|
||||
private struct BrowseList<Header: View, Rows: View>: View {
|
||||
var scrolls: Bool
|
||||
var error: String?
|
||||
@@ -302,19 +303,10 @@ private struct BrowseList<Header: View, Rows: View>: View {
|
||||
header
|
||||
if loaded {
|
||||
rows
|
||||
} else if error == nil {
|
||||
ProgressView()
|
||||
.frame(maxWidth: .infinity)
|
||||
.padding(.top, 20)
|
||||
.feedRow()
|
||||
}
|
||||
if let error {
|
||||
BrowseNote(text: error)
|
||||
if !loaded {
|
||||
Button("Try again") { Task { await reload() } }
|
||||
.buttonStyle(PillButtonStyle(fill: Theme.control, foreground: .white))
|
||||
.feedRow()
|
||||
}
|
||||
if !loaded || error != nil {
|
||||
LoadStatus(loaded: loaded, error: error, retry: reload)
|
||||
.feedRow()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user