summaryrefslogtreecommitdiff
path: root/Sora/Views/Post/PostView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Views/Post/PostView.swift')
-rw-r--r--Sora/Views/Post/PostView.swift67
1 files changed, 35 insertions, 32 deletions
diff --git a/Sora/Views/Post/PostView.swift b/Sora/Views/Post/PostView.swift
index ce46152..9b92f4f 100644
--- a/Sora/Views/Post/PostView.swift
+++ b/Sora/Views/Post/PostView.swift
@@ -1,40 +1,43 @@
import SwiftUI
struct PostView: View {
- @EnvironmentObject var settings: Settings
- let post: BooruPost
- @ObservedObject var manager: BooruManager
- let posts: [BooruPost]
- private var thumbnailURL: URL? {
- switch settings.thumbnailType {
- case .preview:
- post.previewURL
- case .sample:
- post.sampleURL
- case .original:
- post.fileURL
- }
+ @EnvironmentObject var settings: Settings
+ let post: BooruPost
+ @ObservedObject var manager: BooruManager
+ let posts: [BooruPost]
+ private var thumbnailURL: URL? {
+ switch settings.thumbnailType {
+ case .preview:
+ post.previewURL
+ case .sample:
+ post.sampleURL
+ case .original:
+ post.fileURL
}
+ }
- var body: some View {
- VStack {
- AsyncImage(url: thumbnailURL) { image in
- image
- .resizable()
- .aspectRatio(contentMode: .fit)
- .onScrollVisibilityChange { visible in
- if post == posts.last, !manager.endOfData, visible {
- Task {
- manager.loadNextPage()
- }
- }
- }
- .blur(radius: settings.blurNSFWThumbnails ? (post.rating != "s" && post.rating != "q") ? 10 : 0 : 0)
- .animation(.default, value: settings.blurNSFWThumbnails)
- } placeholder: {
- ProgressView()
- .padding()
+ var body: some View {
+ VStack {
+ AsyncImage(url: thumbnailURL) { image in
+ image
+ .resizable()
+ .aspectRatio(contentMode: .fit)
+ .onScrollVisibilityChange { visible in
+ if post == posts.last, !manager.endOfData, visible {
+ Task {
+ manager.loadNextPage()
+ }
}
- }
+ }
+ .blur(
+ radius: settings.blurNSFWThumbnails
+ ? (post.rating != "s" && post.rating != "q") ? 10 : 0 : 0
+ )
+ .animation(.default, value: settings.blurNSFWThumbnails)
+ } placeholder: {
+ ProgressView()
+ .padding()
+ }
}
+ }
}