summaryrefslogtreecommitdiff
path: root/Sora/Views/Post/PostView.swift
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-02-17 19:59:40 -0800
committerFuwn <[email protected]>2025-02-17 19:59:40 -0800
commit4b03f632491b2f988f1acf07a257cc23ef4f395b (patch)
treeb9f5093fdfbdf93d19266463a608d892776803b5 /Sora/Views/Post/PostView.swift
downloadsora-testing-4b03f632491b2f988f1acf07a257cc23ef4f395b.tar.xz
sora-testing-4b03f632491b2f988f1acf07a257cc23ef4f395b.zip
feat: Initial commit
Diffstat (limited to 'Sora/Views/Post/PostView.swift')
-rw-r--r--Sora/Views/Post/PostView.swift30
1 files changed, 30 insertions, 0 deletions
diff --git a/Sora/Views/Post/PostView.swift b/Sora/Views/Post/PostView.swift
new file mode 100644
index 0000000..97e311c
--- /dev/null
+++ b/Sora/Views/Post/PostView.swift
@@ -0,0 +1,30 @@
+import SwiftUI
+
+struct PostView: View {
+ let post: MoebooruPost
+ var softLimit: CGFloat
+ var thumbnailMode: PostThumbnailMode = .preview
+ private var thumbnailURL: URL? {
+ switch thumbnailMode {
+ case .preview:
+ return post.previewURL
+ case .sample:
+ return post.sampleURL
+ case .file:
+ return post.fileURL
+ }
+ }
+
+ var body: some View {
+ VStack {
+ AsyncImage(url: thumbnailURL) { image in
+ image
+ .resizable()
+ .scaledToFit()
+ } placeholder: {
+ ProgressView()
+ }
+ .frame(width: softLimit, height: softLimit)
+ }
+ }
+}