summaryrefslogtreecommitdiff
path: root/Sora/Views/Post
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Views/Post')
-rw-r--r--Sora/Views/Post/PostDetailsView.swift8
-rw-r--r--Sora/Views/Post/PostFileType.swift6
-rw-r--r--Sora/Views/Post/PostGridBookmarkButtonView.swift2
-rw-r--r--Sora/Views/Post/PostGridView.swift35
-rw-r--r--Sora/Views/Post/PostView.swift8
5 files changed, 21 insertions, 38 deletions
diff --git a/Sora/Views/Post/PostDetailsView.swift b/Sora/Views/Post/PostDetailsView.swift
index fe3b558..b24b70b 100644
--- a/Sora/Views/Post/PostDetailsView.swift
+++ b/Sora/Views/Post/PostDetailsView.swift
@@ -2,7 +2,7 @@ import SwiftUI
struct PostDetailsView: View {
@EnvironmentObject var settings: Settings
- let post: MoebooruPost
+ let post: BooruPost
@State var loadingStage: PostLoadingState = .loadingPreview
private var imageURL: URL? {
switch settings.detailViewType {
@@ -12,8 +12,6 @@ struct PostDetailsView: View {
return post.sampleURL
case .original:
return post.fileURL
- case .compressed:
- return post.jpegURL
}
}
@@ -45,9 +43,7 @@ struct PostDetailsView: View {
HStack {
Text(
- Date(
- timeIntervalSince1970: TimeInterval(post.createdAt)
- ).formatted()
+ post.createdAt.formatted()
)
.frame(maxWidth: .infinity, alignment: .leading)
diff --git a/Sora/Views/Post/PostFileType.swift b/Sora/Views/Post/PostFileType.swift
deleted file mode 100644
index a7b3ca6..0000000
--- a/Sora/Views/Post/PostFileType.swift
+++ /dev/null
@@ -1,6 +0,0 @@
-enum PostFileType: String, CaseIterable {
- case original
- case sample
- case compressed
- case preview
-}
diff --git a/Sora/Views/Post/PostGridBookmarkButtonView.swift b/Sora/Views/Post/PostGridBookmarkButtonView.swift
index c4d8dc8..531eefe 100644
--- a/Sora/Views/Post/PostGridBookmarkButtonView.swift
+++ b/Sora/Views/Post/PostGridBookmarkButtonView.swift
@@ -1,7 +1,7 @@
import SwiftUI
struct PostGridBookmarkButtonView: View {
- @EnvironmentObject private var manager: MoebooruManager
+ @EnvironmentObject private var manager: BooruManager
@EnvironmentObject private var settings: Settings
var contained: Bool {
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 {
diff --git a/Sora/Views/Post/PostView.swift b/Sora/Views/Post/PostView.swift
index 9c25552..2765cd5 100644
--- a/Sora/Views/Post/PostView.swift
+++ b/Sora/Views/Post/PostView.swift
@@ -2,9 +2,9 @@ import SwiftUI
struct PostView: View {
@EnvironmentObject var settings: Settings
- let post: MoebooruPost
- @ObservedObject var manager: MoebooruManager
- let posts: [MoebooruPost]
+ let post: BooruPost
+ @ObservedObject var manager: BooruManager
+ let posts: [BooruPost]
private var thumbnailURL: URL? {
switch settings.thumbnailType {
case .preview:
@@ -13,8 +13,6 @@ struct PostView: View {
return post.sampleURL
case .original:
return post.fileURL
- case .compressed:
- return post.jpegURL
}
}