summaryrefslogtreecommitdiff
path: root/Sora/Views
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Views')
-rw-r--r--Sora/Views/Post/Details/PostDetailsImageView.swift20
-rw-r--r--Sora/Views/Post/Grid/PostGridView.swift20
2 files changed, 34 insertions, 6 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()
diff --git a/Sora/Views/Post/Grid/PostGridView.swift b/Sora/Views/Post/Grid/PostGridView.swift
index 9eef5f7..4b32c88 100644
--- a/Sora/Views/Post/Grid/PostGridView.swift
+++ b/Sora/Views/Post/Grid/PostGridView.swift
@@ -107,12 +107,20 @@ struct PostGridView: View { // swiftlint:disable:this type_body_length
}
}
.animation(.easeInOut, value: manager.historyIndex)
- .searchable(
- text: $manager.searchText,
- isPresented: $isSearchablePresented,
- placement: .navigationBarDrawer(displayMode: .automatic),
- prompt: "Tags"
- )
+ #if os(iOS)
+ .searchable(
+ text: $manager.searchText,
+ isPresented: $isSearchablePresented,
+ placement: .navigationBarDrawer(displayMode: .automatic),
+ prompt: "Tags"
+ )
+ #else
+ .searchable(
+ text: $manager.searchText,
+ isPresented: $isSearchablePresented,
+ prompt: "Tags"
+ )
+ #endif
.searchSuggestions {
if settings.searchSuggestionsMode != .disabled {
SearchSuggestionsView(