diff options
Diffstat (limited to 'Sora/Views/Post/Details')
| -rw-r--r-- | Sora/Views/Post/Details/PostDetailsImageView.swift | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Sora/Views/Post/Details/PostDetailsImageView.swift b/Sora/Views/Post/Details/PostDetailsImageView.swift index 0ab28c4..7d52a51 100644 --- a/Sora/Views/Post/Details/PostDetailsImageView.swift +++ b/Sora/Views/Post/Details/PostDetailsImageView.swift @@ -50,6 +50,26 @@ struct PostDetailsImageView<Placeholder: View>: View { } #endif + Button { + #if os(iOS) + let url = url + + Task(priority: .userInitiated) { + // swiftlint:disable:next legacy_objc_type + if let data = NSData(contentsOf: url ?? URL(string: "")!) { + UIPasteboard.general.image = UIImage(data: data as Data) + } + } + #else + if let url { + NSPasteboard.general.clearContents() + NSPasteboard.general.writeObjects([NSImage(byReferencing: url)]) + } + #endif + } label: { + Label("Copy", systemImage: "doc.on.doc") + } + #if os(macOS) Button { saveImageToPicturesFolder() |