mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-09 06:43:25 +01:00
[CHANGE] Fetch news when NewsView appears
This commit is contained in:
@@ -98,3 +98,11 @@ extension URL: Identifiable {
|
|||||||
// NewsItemView()
|
// NewsItemView()
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
extension NewsItemView: Equatable {
|
||||||
|
/// Prevent re-rendering of the view if the parameters didn't change
|
||||||
|
static func == (lhs: NewsItemView, rhs: NewsItemView) -> Bool {
|
||||||
|
lhs.newsItem.identifier == rhs.newsItem.identifier
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -44,6 +44,26 @@ struct NewsView: View {
|
|||||||
.navigationTitle("News")
|
.navigationTitle("News")
|
||||||
.sheet(item: self.$activeExternalUrl) { url in
|
.sheet(item: self.$activeExternalUrl) { url in
|
||||||
SafariView(url: url)
|
SafariView(url: url)
|
||||||
|
.ignoresSafeArea()
|
||||||
|
}
|
||||||
|
.onAppear(perform: fetchNews)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func fetchNews() {
|
||||||
|
AppManager.shared.fetchSources { result in
|
||||||
|
do {
|
||||||
|
do {
|
||||||
|
let (_, context) = try result.get()
|
||||||
|
try context.save()
|
||||||
|
} catch let error as AppManager.FetchSourcesError {
|
||||||
|
try error.managedObjectContext?.save()
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
print(error)
|
||||||
|
NotificationManager.shared.reportError(error: error)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user