mirror of
https://github.com/neon443/NearFuture.git
synced 2026-03-11 06:49:12 +00:00
minor concurrency improvements
This commit is contained in:
@@ -27,10 +27,10 @@ struct ContentView: View {
|
|||||||
var body: some View {
|
var body: some View {
|
||||||
TabView(selection: $selection) {
|
TabView(selection: $selection) {
|
||||||
HomeView(viewModel: viewModel, settingsModel: settingsModel)
|
HomeView(viewModel: viewModel, settingsModel: settingsModel)
|
||||||
.tabItem {
|
.tabItem {
|
||||||
Label("Home", systemImage: "house")
|
Label("Home", systemImage: "house")
|
||||||
}
|
}
|
||||||
.tag(Tab.home)
|
.tag(Tab.home)
|
||||||
ArchiveView(viewModel: viewModel)
|
ArchiveView(viewModel: viewModel)
|
||||||
.tabItem() {
|
.tabItem() {
|
||||||
Label("Archive", systemImage: "tray.full")
|
Label("Archive", systemImage: "tray.full")
|
||||||
|
|||||||
@@ -95,8 +95,11 @@ struct SettingsView: View {
|
|||||||
List {
|
List {
|
||||||
if !settingsModel.notifsGranted {
|
if !settingsModel.notifsGranted {
|
||||||
Button("Request Notifications") {
|
Button("Request Notifications") {
|
||||||
Task {
|
Task.detached {
|
||||||
settingsModel.notifsGranted = await requestNotifs()
|
let requestNotifsResult = await requestNotifs()
|
||||||
|
await MainActor.run {
|
||||||
|
settingsModel.notifsGranted = requestNotifsResult
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Text("\(Image(systemName: "xmark")) Notifications disabled for Near Future")
|
Text("\(Image(systemName: "xmark")) Notifications disabled for Near Future")
|
||||||
|
|||||||
@@ -248,8 +248,8 @@ class EventViewModel: ObservableObject, @unchecked Sendable {
|
|||||||
|
|
||||||
updateSyncStatus()
|
updateSyncStatus()
|
||||||
loadEvents()
|
loadEvents()
|
||||||
Task {
|
Task.detached {
|
||||||
await checkPendingNotifs(getNotifs())
|
await self.checkPendingNotifs(self.getNotifs())
|
||||||
}
|
}
|
||||||
WidgetCenter.shared.reloadAllTimelines()//reload all widgets when saving events
|
WidgetCenter.shared.reloadAllTimelines()//reload all widgets when saving events
|
||||||
objectWillChange.send()
|
objectWillChange.send()
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class SettingsViewModel: ObservableObject {
|
|||||||
self.device = getDevice()
|
self.device = getDevice()
|
||||||
if load {
|
if load {
|
||||||
loadSettings()
|
loadSettings()
|
||||||
Task {
|
Task.detached {
|
||||||
let requestResult = await requestNotifs()
|
let requestResult = await requestNotifs()
|
||||||
await MainActor.run {
|
await MainActor.run {
|
||||||
self.notifsGranted = requestResult
|
self.notifsGranted = requestResult
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ import SwiftData
|
|||||||
@main
|
@main
|
||||||
struct NearFutureApp: App {
|
struct NearFutureApp: App {
|
||||||
@StateObject var settingsModel: SettingsViewModel = SettingsViewModel()
|
@StateObject var settingsModel: SettingsViewModel = SettingsViewModel()
|
||||||
var body: some Scene {
|
var body: some Scene {
|
||||||
WindowGroup {
|
WindowGroup {
|
||||||
ContentView(
|
ContentView(
|
||||||
viewModel: EventViewModel(),
|
viewModel: EventViewModel(),
|
||||||
settingsModel: settingsModel
|
settingsModel: settingsModel
|
||||||
)
|
)
|
||||||
.tint(settingsModel.settings.tint.color)
|
.tint(settingsModel.settings.tint.color)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user