diff --git a/Shared/Navigation/ContentView.swift b/Shared/Navigation/ContentView.swift index d886576..748aaa6 100644 --- a/Shared/Navigation/ContentView.swift +++ b/Shared/Navigation/ContentView.swift @@ -1,41 +1,43 @@ import SwiftUI struct ContentView: View { @ObservedObject var postStore: PostStore - @State private var selectedCollection: PostCollection = allPostsCollection + @State private var selectedCollection: PostCollection? = allPostsCollection var body: some View { NavigationView { CollectionSidebar(selectedCollection: $selectedCollection) PostList( - title: selectedCollection.title, - posts: showPosts(for: selectedCollection) + title: selectedCollection?.title ?? allPostsCollection.title, + posts: showPosts(for: selectedCollection ?? allPostsCollection) ) .frame(maxHeight: .infinity) .toolbar { NavigationLink(destination: PostEditor(post: Post())) { Image(systemName: "square.and.pencil") } } Text("Select a post, or create a new draft.") .foregroundColor(.secondary) } .environmentObject(postStore) } - - func showPosts(for: PostCollection) -> [Post] { - if selectedCollection == allPostsCollection { + + func showPosts(for collection: PostCollection) -> [Post] { + if collection == allPostsCollection { return postStore.posts } else { - return postStore.posts.filter { $0.collection.title == selectedCollection.title } + return postStore.posts.filter { + $0.collection.title == collection.title + } } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView(postStore: testPostStore) } }