diff options
Diffstat (limited to 'Sora/Views/Post/PostView.swift')
| -rw-r--r-- | Sora/Views/Post/PostView.swift | 67 |
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() + } } + } } |