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) { 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 } }