diff options
| author | Fuwn <[email protected]> | 2025-02-20 19:33:19 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-20 19:33:19 -0800 |
| commit | e23a8714f6cdc1b55ef96f6bc0f024af049ce299 (patch) | |
| tree | 8496471c3e0a455dc0d0c5c16a3c03964509934e /Sora/Views/Post/PostGridView.swift | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-e23a8714f6cdc1b55ef96f6bc0f024af049ce299.tar.xz sora-testing-e23a8714f6cdc1b55ef96f6bc0f024af049ce299.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Views/Post/PostGridView.swift')
| -rw-r--r-- | Sora/Views/Post/PostGridView.swift | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/Sora/Views/Post/PostGridView.swift b/Sora/Views/Post/PostGridView.swift index 625cb1e..3ccc772 100644 --- a/Sora/Views/Post/PostGridView.swift +++ b/Sora/Views/Post/PostGridView.swift @@ -3,11 +3,12 @@ import WaterfallGrid struct PostGridView: View { @EnvironmentObject var settings: Settings - @ObservedObject var manager: MoebooruManager + @ObservedObject var manager: BooruManager @Environment(\.isSearching) private var isSearching - var filteredPosts: [MoebooruPost] { - settings.showNSFWPosts ? manager.posts : manager.posts.filter { $0.rating == "s" } + var filteredPosts: [BooruPost] { + (settings.showNSFWPosts ? manager.posts : manager.posts.filter { $0.rating == "s" || $0.rating == "q" }) + .sorted(by: { $0.id > $1.id }) } var body: some View { @@ -54,12 +55,7 @@ struct PostGridView: View { } } .onSubmit(of: .search, manager.performSearch) - .task { - if manager.posts.isEmpty { - await manager.fetchPosts(page: manager.currentPage) - } - } - .navigationDestination(for: MoebooruPost.self) { post in + .navigationDestination(for: BooruPost.self) { post in PostDetailsView(post: post) } .onChange(of: manager.searchText) { _, _ in @@ -69,20 +65,19 @@ struct PostGridView: View { } } } - #if os(macOS) .toolbar { - ToolbarItem { - Button(action: { - Task { - await manager.fetchPosts(page: 1, tags: manager.tags, replace: true) + #if os(macOS) + ToolbarItem { + Button(action: { + Task { + await manager.fetchPosts(page: 1, tags: manager.tags, replace: true) + } + }) { + Label("Refresh", systemImage: "arrow.clockwise") } - }) { - Label("Refresh", systemImage: "arrow.clockwise") } - } - } - #endif - .toolbar { + #endif + if !manager.tags.isEmpty { #if os(macOS) ToolbarItem { |