aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Views/FilesView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/Views/FilesView.swift')
-rw-r--r--Hotline/Views/FilesView.swift19
1 files changed, 16 insertions, 3 deletions
diff --git a/Hotline/Views/FilesView.swift b/Hotline/Views/FilesView.swift
index 23b19b1..5cbf0c9 100644
--- a/Hotline/Views/FilesView.swift
+++ b/Hotline/Views/FilesView.swift
@@ -27,6 +27,10 @@ struct FileView: View {
}
}
.onChange(of: expanded) {
+ if !expanded {
+ return
+ }
+
Task {
await model.getFileList(path: file.path)
}
@@ -85,7 +89,7 @@ struct FileView: View {
struct FilesView: View {
@Environment(Hotline.self) private var model: Hotline
- @State var initialLoad = false
+ @State var initialLoadComplete = false
var body: some View {
NavigationStack {
@@ -94,9 +98,18 @@ struct FilesView: View {
.frame(height: 44)
}
.task {
- if !initialLoad {
+ if !initialLoadComplete {
let _ = await model.getFileList()
- initialLoad = true
+ initialLoadComplete = true
+ }
+ }
+ .overlay {
+ if !initialLoadComplete {
+ VStack {
+ ProgressView()
+ .controlSize(.large)
+ }
+ .frame(maxWidth: .infinity)
}
}
.listStyle(.plain)