diff options
Diffstat (limited to 'Sora/Views/Post/PostGridView.swift')
| -rw-r--r-- | Sora/Views/Post/PostGridView.swift | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/Sora/Views/Post/PostGridView.swift b/Sora/Views/Post/PostGridView.swift index 99f5013..0a1c37b 100644 --- a/Sora/Views/Post/PostGridView.swift +++ b/Sora/Views/Post/PostGridView.swift @@ -5,26 +5,38 @@ struct PostGridView: View { @EnvironmentObject var settings: Settings @ObservedObject var manager: MoebooruManager + var filteredPosts: [MoebooruPost] { + settings.showNSFWPosts ? manager.posts : manager.posts.filter { $0.rating == "s" } + } + var body: some View { ScrollViewReader { _ in ScrollView { - if manager.posts.isEmpty { + if filteredPosts.isEmpty { ProgressView() .padding() } - WaterfallGrid(manager.posts, id: \.id) { post in + WaterfallGrid(filteredPosts, id: \.id) { post in Group { #if os(macOS) Button { manager.selectedPost = post } label: { - PostView(post: post, manager: manager) + PostView( + post: post, + manager: manager, + posts: filteredPosts + ) } .buttonStyle(PlainButtonStyle()) #else NavigationLink(value: post) { - PostView(post: post, manager: manager) + PostView( + post: post, + manager: manager, + posts: filteredPosts + ) } #endif } |