Ensure showAllPosts is false when navigating to a given blog

This commit is contained in:
Angelo Stavrow 2021-01-14 10:28:14 -05:00
parent 1acd25ad42
commit 3b6c7748e8
No known key found for this signature in database
GPG Key ID: 1A49C7064E060EEE

View File

@ -18,15 +18,16 @@ struct CollectionListView: View {
model.selectedCollection == nil && model.showAllPosts
}, set: { newValue in
if newValue {
self.model.selectedCollection = nil
self.model.showAllPosts = true
self.model.selectedCollection = nil
} else {
// No-op
}
}
)) {
),
label: {
Text("All Posts")
}
})
NavigationLink(
destination: PostListView(),
isActive: Binding<Bool>(
@ -34,27 +35,38 @@ struct CollectionListView: View {
model.selectedCollection == nil && !model.showAllPosts
}, set: { newValue in
if newValue {
self.model.selectedCollection = nil
self.model.showAllPosts = false
self.model.selectedCollection = nil
} else {
// No-op
}
}
)) {
),
label: {
Text(model.account.server == "https://write.as" ? "Anonymous" : "Drafts")
}
})
Section(header: Text("Your Blogs")) {
ForEach(collections, id: \.alias) { collection in
NavigationLink(
collection.title,
destination: PostListView(),
tag: collection,
selection: $model.selectedCollection
isActive: Binding<Bool>(
get: { () -> Bool in
model.selectedCollection == collection && !model.showAllPosts
}, set: { newValue in
if newValue {
self.model.showAllPosts = false
self.model.selectedCollection = collection
} else {
// No-op
}
}
),
label: { Text(collection.title) }
)
}
}
} else {
NavigationLink(destination: PostListView(selectedCollection: nil, showAllPosts: false)) {
NavigationLink(destination: PostListView()) {
Text("Drafts")
}
}