summaryrefslogtreecommitdiff
path: root/Sora/Views/Post/PostGridView.swift
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-02-20 19:33:19 -0800
committerFuwn <[email protected]>2025-02-20 19:33:19 -0800
commite23a8714f6cdc1b55ef96f6bc0f024af049ce299 (patch)
tree8496471c3e0a455dc0d0c5c16a3c03964509934e /Sora/Views/Post/PostGridView.swift
parentfeat: Development commit (diff)
downloadsora-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.swift35
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 {