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.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)
+ }
+ }
+}