import SwiftUI struct ContentView: View { @EnvironmentObject var manager: BooruManager @Binding var selectedTab: Int @State private var columnVisibility = NavigationSplitViewVisibility.doubleColumn @State private var navigationPath = NavigationPath() var body: some View { #if os(macOS) NavigationSplitView(columnVisibility: $columnVisibility) { List { Text("Posts") .tag(0) } } content: { switch selectedTab { case 1: PostGridSearchHistoryView( selectedTab: $selectedTab, isPresented: .constant(false) ) case 2: BookmarksView(selectedTab: $selectedTab) case 3: SettingsView() default: PostGridView(selectedTab: $selectedTab, navigationPath: $navigationPath) } } detail: { if let post = manager.selectedPost { PostDetailsView(post: post, navigationPath: $navigationPath, posts: nil) } else { Text("Select a Post") .foregroundColor(.secondary) } } #else NavigationStack(path: $navigationPath) { PostGridView(selectedTab: $selectedTab, navigationPath: $navigationPath) .navigationDestination(for: BooruPost.self) { post in PostDetailsView(post: post, navigationPath: $navigationPath, posts: nil) } .navigationDestination(for: PostWithContext.self) { context in PostDetailsView( post: context.post, navigationPath: $navigationPath, posts: context.posts, baseSearchText: context.baseSearchText ) } .navigationDestination(for: String.self) { tag in PostGridView( selectedTab: $selectedTab, navigationPath: $navigationPath, initialTag: tag ) } } #endif } }