diff options
| author | Fuwn <[email protected]> | 2025-06-20 08:54:43 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-06-20 08:54:43 -0700 |
| commit | 844f6b2c7b38e19cefa97cbe4d2e52f065d9412f (patch) | |
| tree | 9fe1c0ab78000b632c11e8b2f9189a7324c6d59e | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-844f6b2c7b38e19cefa97cbe4d2e52f065d9412f.tar.xz sora-testing-844f6b2c7b38e19cefa97cbe4d2e52f065d9412f.zip | |
feat: Development commit
| -rw-r--r-- | Sora/Views/ContentView.swift | 14 | ||||
| -rw-r--r-- | Sora/Views/MainView.swift | 56 |
2 files changed, 40 insertions, 30 deletions
diff --git a/Sora/Views/ContentView.swift b/Sora/Views/ContentView.swift index cf449f3..1eea6c2 100644 --- a/Sora/Views/ContentView.swift +++ b/Sora/Views/ContentView.swift @@ -3,21 +3,10 @@ import SwiftUI struct ContentView: View { @EnvironmentObject var manager: BooruManager @Binding var selectedTab: Int - @State private var tabs = [ - "Posts", - "Search History", - "Bookmarks", - ] var body: some View { #if os(macOS) NavigationSplitView { - List(selection: $selectedTab) { - ForEach(Array(tabs.enumerated()), id: \.offset) { index, element in - NavigationLink(value: index) { Text(element) } - } - } - } content: { switch selectedTab { case 1: PostGridSearchHistoryView( @@ -42,9 +31,6 @@ struct ContentView: View { .foregroundColor(.secondary) } } - #if DEBUG - .onAppear { tabs.append("Settings") } - #endif #else NavigationStack { PostGridView(selectedTab: $selectedTab) diff --git a/Sora/Views/MainView.swift b/Sora/Views/MainView.swift index f939b8f..245436a 100644 --- a/Sora/Views/MainView.swift +++ b/Sora/Views/MainView.swift @@ -25,7 +25,9 @@ struct MainView: View { #if os(macOS) .onChange(of: selectedTab) { _, newValue in if newValue == 0 { - initializeManager() + Task(priority: .userInitiated) { + await manager.fetchPosts() + } } } #endif @@ -44,9 +46,20 @@ struct MainView: View { } } - Tab("Settings", systemImage: "gear", value: 2) { - SettingsView() - } + #if os(macOS) + Tab("Search History", systemImage: "clock.arrow.circlepath", value: 3) { + PostGridSearchHistoryView( + selectedTab: $selectedTab, + isPresented: .constant(false) + ) + } + #endif + + #if DEBUG || !os(macOS) + Tab("Settings", systemImage: "gear", value: 2) { + SettingsView() + } + #endif } } else { TabView(selection: $selectedTab) { @@ -60,24 +73,35 @@ struct MainView: View { .tabItem { Label("Bookmarks", systemImage: "bookmark") } .tag(1) - SettingsView() - .tabItem { Label("Settings", systemImage: "gear") } - .tag(2) + #if os(macOS) + NavigationStack { + PostGridSearchHistoryView( + selectedTab: $selectedTab, + isPresented: .constant(false) + ) + } + .tabItem { Label("Search History", systemImage: "clock.arrow.circlepath") } + .tag(3) + #endif + + #if DEBUG || !os(macOS) + SettingsView() + .tabItem { Label("Settings", systemImage: "gear") } + .tag(2) + #endif } } } @ViewBuilder private var platformSpecificContent: some View { - #if os(macOS) - ContentView(selectedTab: $selectedTab) - #else - if #available(iOS 26, *) { - tabViewContent + if #available(iOS 26, *) { + tabViewContent + #if !os(macOS) .tabBarMinimizeBehavior(.onScrollDown) - } else { - tabViewContent - } - #endif + #endif + } else { + tabViewContent + } } private func updateManager(_ provider: BooruProvider) { |