summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-06-20 08:54:43 -0700
committerFuwn <[email protected]>2025-06-20 08:54:43 -0700
commit844f6b2c7b38e19cefa97cbe4d2e52f065d9412f (patch)
tree9fe1c0ab78000b632c11e8b2f9189a7324c6d59e
parentfeat: Development commit (diff)
downloadsora-testing-844f6b2c7b38e19cefa97cbe4d2e52f065d9412f.tar.xz
sora-testing-844f6b2c7b38e19cefa97cbe4d2e52f065d9412f.zip
feat: Development commit
-rw-r--r--Sora/Views/ContentView.swift14
-rw-r--r--Sora/Views/MainView.swift56
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) {