diff options
| author | Fuwn <[email protected]> | 2025-02-22 00:07:44 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-22 00:07:44 -0800 |
| commit | e42fa12dafe264c665d2574c93b54ddafe7f2e1f (patch) | |
| tree | a362b3b78ea97dc28ce5cc3682801bf89688f546 /Sora/Views/Post/PostView.swift | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-e42fa12dafe264c665d2574c93b54ddafe7f2e1f.tar.xz sora-testing-e42fa12dafe264c665d2574c93b54ddafe7f2e1f.zip | |
feat: Development commit
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() + } } + } } |