aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Shared/AsyncLinkPreview.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/Shared/AsyncLinkPreview.swift')
-rw-r--r--Hotline/Shared/AsyncLinkPreview.swift16
1 files changed, 9 insertions, 7 deletions
diff --git a/Hotline/Shared/AsyncLinkPreview.swift b/Hotline/Shared/AsyncLinkPreview.swift
index 89b186f..6f32abb 100644
--- a/Hotline/Shared/AsyncLinkPreview.swift
+++ b/Hotline/Shared/AsyncLinkPreview.swift
@@ -1,15 +1,17 @@
-import SwiftUI
import LinkPresentation
+import SwiftUI
-fileprivate class CustomLinkView: LPLinkView {
- override var intrinsicContentSize: CGSize { CGSize(width: 0, height: super.intrinsicContentSize.height) }
+private class CustomLinkView: LPLinkView {
+ override var intrinsicContentSize: CGSize {
+ CGSize(width: 0, height: super.intrinsicContentSize.height)
+ }
}
struct AsyncLinkPreview: View {
@State private var metadata: LPLinkMetadata?
@State private var isLoading = true
let url: URL?
-
+
func fetchMetadata() async {
guard let url else {
self.isLoading = false
@@ -24,7 +26,7 @@ struct AsyncLinkPreview: View {
self.isLoading = false
}
}
-
+
var body: some View {
if isLoading {
ProgressView()
@@ -45,12 +47,12 @@ struct AsyncLinkPreview: View {
struct LinkView: NSViewRepresentable {
var metadata: LPLinkMetadata
-
+
func makeNSView(context: Context) -> LPLinkView {
let linkView = CustomLinkView(metadata: metadata)
return linkView
}
-
+
func updateNSView(_ nsView: LPLinkView, context: Context) {
// Nothing required
}