mirror of
https://github.com/cranci1/Sora.git
synced 2026-03-11 17:45:37 +00:00
module refresh crash fixed
This commit is contained in:
parent
315d507485
commit
9ae8f5eb54
1 changed files with 19 additions and 11 deletions
|
|
@ -16,6 +16,7 @@ struct SettingsViewModule: View {
|
|||
@State private var isLoading = false
|
||||
@State private var isRefreshing = false
|
||||
@State private var moduleUrl: String = ""
|
||||
@State private var refreshTask: Task<Void, Never>?
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
|
|
@ -113,23 +114,30 @@ struct SettingsViewModule: View {
|
|||
})
|
||||
.refreshable {
|
||||
isRefreshing = true
|
||||
await moduleManager.refreshModules()
|
||||
isRefreshing = false
|
||||
refreshTask?.cancel()
|
||||
refreshTask = Task {
|
||||
await moduleManager.refreshModules()
|
||||
isRefreshing = false
|
||||
}
|
||||
}
|
||||
}
|
||||
.onAppear {
|
||||
Task {
|
||||
refreshTask = Task {
|
||||
await moduleManager.refreshModules()
|
||||
}
|
||||
}
|
||||
.alert(isPresented: .constant(errorMessage != nil)) {
|
||||
Alert(
|
||||
title: Text("Error"),
|
||||
message: Text(errorMessage ?? "Unknown error"),
|
||||
dismissButton: .default(Text("OK")) {
|
||||
errorMessage = nil
|
||||
}
|
||||
)
|
||||
.onDisappear {
|
||||
refreshTask?.cancel()
|
||||
}
|
||||
.alert("Error", isPresented: Binding(
|
||||
get: { errorMessage != nil },
|
||||
set: { if !$0 { errorMessage = nil } }
|
||||
)) {
|
||||
Button("OK") {
|
||||
errorMessage = nil
|
||||
}
|
||||
} message: {
|
||||
Text(errorMessage ?? "Unknown error")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue