diff options
Diffstat (limited to 'Sora/Views/MainView.swift')
| -rw-r--r-- | Sora/Views/MainView.swift | 104 |
1 files changed, 52 insertions, 52 deletions
diff --git a/Sora/Views/MainView.swift b/Sora/Views/MainView.swift index 82367c7..79ac1a3 100644 --- a/Sora/Views/MainView.swift +++ b/Sora/Views/MainView.swift @@ -1,67 +1,67 @@ import SwiftUI struct MainView: View { - @EnvironmentObject var settings: Settings - @State private var selectedTab: Int = 0 - @State private var manager = BooruManager(.yandere) + @EnvironmentObject var settings: Settings + @State private var selectedTab: Int = 0 + @State private var manager = BooruManager(.yandere) - var body: some View { - platformSpecificContent - .environmentObject(settings) - .environmentObject(manager) - .onChange(of: settings.preferredBooru) { _, newState in - updateManager(newState) - } - .onAppear(perform: initialiseManager) - } + var body: some View { + platformSpecificContent + .environmentObject(settings) + .environmentObject(manager) + .onChange(of: settings.preferredBooru) { _, newState in + updateManager(newState) + } + .onAppear(perform: initialiseManager) + } - @ViewBuilder - private var platformSpecificContent: some View { - #if os(macOS) - ContentView() - #else - TabView(selection: $selectedTab) { - ContentView() - .tabItem { Label("Posts", systemImage: "rectangle.stack") } - .tag(0) + @ViewBuilder + private var platformSpecificContent: some View { + #if os(macOS) + ContentView() + #else + TabView(selection: $selectedTab) { + ContentView() + .tabItem { Label("Posts", systemImage: "rectangle.stack") } + .tag(0) - NavigationStack { - BookmarksView(selectedTab: $selectedTab) - } - .tabItem { Label("Bookmarks", systemImage: "bookmark") } - .tag(1) + NavigationStack { + BookmarksView(selectedTab: $selectedTab) + } + .tabItem { Label("Bookmarks", systemImage: "bookmark") } + .tag(1) - NavigationStack { - SettingsView() - } - .tabItem { Label("Settings", systemImage: "gear") } - .tag(2) - } - #endif - } + NavigationStack { + SettingsView() + } + .tabItem { Label("Settings", systemImage: "gear") } + .tag(2) + } + #endif + } - private func updateManager(_ provider: BooruProvider) { - let previousSearchText = manager.searchText + private func updateManager(_ provider: BooruProvider) { + let previousSearchText = manager.searchText - manager = BooruManager(provider) - manager.searchText = previousSearchText + manager = BooruManager(provider) + manager.searchText = previousSearchText - Task { - if manager.searchText.isEmpty { - await manager.fetchPosts() - } else { - manager.performSearch() - } - } + Task { + if manager.searchText.isEmpty { + await manager.fetchPosts() + } else { + manager.performSearch() + } } + } - private func initialiseManager() { - manager = BooruManager(settings.preferredBooru) + private func initialiseManager() { + manager = BooruManager(settings.preferredBooru) - Task { - if manager.posts.isEmpty { - await manager.fetchPosts() - } - } + Task { + if manager.posts.isEmpty { + await manager.fetchPosts() + } } + } } |