summaryrefslogtreecommitdiff
path: root/Sora/Views/MainView.swift
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-02-20 19:33:19 -0800
committerFuwn <[email protected]>2025-02-20 19:33:19 -0800
commite23a8714f6cdc1b55ef96f6bc0f024af049ce299 (patch)
tree8496471c3e0a455dc0d0c5c16a3c03964509934e /Sora/Views/MainView.swift
parentfeat: Development commit (diff)
downloadsora-testing-e23a8714f6cdc1b55ef96f6bc0f024af049ce299.tar.xz
sora-testing-e23a8714f6cdc1b55ef96f6bc0f024af049ce299.zip
feat: Development commit
Diffstat (limited to 'Sora/Views/MainView.swift')
-rw-r--r--Sora/Views/MainView.swift34
1 files changed, 33 insertions, 1 deletions
diff --git a/Sora/Views/MainView.swift b/Sora/Views/MainView.swift
index 966d986..af56e06 100644
--- a/Sora/Views/MainView.swift
+++ b/Sora/Views/MainView.swift
@@ -3,13 +3,29 @@ import SwiftUI
struct MainView: View {
@EnvironmentObject var settings: Settings
@State private var selectedTab: Int = 0
- @StateObject private var manager = MoebooruManager()
+ @State private var manager = BooruManager(booru: .yandere)
var body: some View {
#if os(macOS)
ContentView()
.environmentObject(settings)
.environmentObject(manager)
+ .onChange(of: settings.preferredBooru) { _, newState in
+ self.manager = BooruManager(booru: newState)
+
+ Task {
+ await self.manager.fetchPosts()
+ }
+ }
+ .onAppear {
+ self.manager = BooruManager(booru: self.settings.preferredBooru)
+
+ Task {
+ if manager.posts.isEmpty {
+ await self.manager.fetchPosts()
+ }
+ }
+ }
#else
TabView(selection: $selectedTab) {
ContentView()
@@ -37,6 +53,22 @@ struct MainView: View {
.tag(2)
}
.environmentObject(settings)
+ .onChange(of: settings.preferredBooru) { _, newState in
+ self.manager = BooruManager(booru: newState)
+
+ Task {
+ await self.manager.fetchPosts()
+ }
+ }
+ .onAppear {
+ self.manager = BooruManager(booru: self.settings.preferredBooru)
+
+ Task {
+ if manager.posts.isEmpty {
+ await self.manager.fetchPosts()
+ }
+ }
+ }
#endif
}
}