Fix infinite loading indicator with versions
This commit is contained in:
parent
aad24d4b1d
commit
aa344b8ea8
1 changed files with 8 additions and 5 deletions
|
|
@ -14,11 +14,13 @@ struct SettingsAppVersionView: View {
|
||||||
@State private var viewTask: Task<Void, Never>?
|
@State private var viewTask: Task<Void, Never>?
|
||||||
@State private var releases: [GithubRelease] = []
|
@State private var releases: [GithubRelease] = []
|
||||||
|
|
||||||
|
@State private var loadedReleases = false
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
ZStack {
|
ZStack {
|
||||||
if releases.isEmpty {
|
if !loadedReleases {
|
||||||
ActivityIndicator()
|
ActivityIndicator()
|
||||||
} else {
|
} else if !releases.isEmpty {
|
||||||
List {
|
List {
|
||||||
Section(header: Text("GitHub links")) {
|
Section(header: Text("GitHub links")) {
|
||||||
ForEach(releases, id: \.self) { release in
|
ForEach(releases, id: \.self) { release in
|
||||||
|
|
@ -33,15 +35,16 @@ struct SettingsAppVersionView: View {
|
||||||
viewTask = Task {
|
viewTask = Task {
|
||||||
do {
|
do {
|
||||||
if let fetchedReleases = try await Github().fetchReleases() {
|
if let fetchedReleases = try await Github().fetchReleases() {
|
||||||
withAnimation {
|
releases = fetchedReleases
|
||||||
releases = fetchedReleases
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
toastModel.updateToastDescription("Github error: No releases found")
|
toastModel.updateToastDescription("Github error: No releases found")
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
toastModel.updateToastDescription("Github error: \(error)")
|
toastModel.updateToastDescription("Github error: \(error)")
|
||||||
}
|
}
|
||||||
|
withAnimation {
|
||||||
|
loadedReleases = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.onDisappear {
|
.onDisappear {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue