summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-06-25 06:53:00 -0700
committerFuwn <[email protected]>2025-06-25 06:53:00 -0700
commit78056fc1fff43b45b1863c7338afd6b1c45486be (patch)
tree80d7e50160daf667f0eb3a05381cce05d0d33a52
parentfeat: Development commit (diff)
downloadsora-testing-78056fc1fff43b45b1863c7338afd6b1c45486be.tar.xz
sora-testing-78056fc1fff43b45b1863c7338afd6b1c45486be.zip
feat: Development commit
-rw-r--r--Localizable.xcstrings3
-rw-r--r--Sora/Views/Post/Details/PostDetailsImageView.swift20
-rw-r--r--Sora/Views/Post/Grid/PostGridView.swift20
3 files changed, 37 insertions, 6 deletions
diff --git a/Localizable.xcstrings b/Localizable.xcstrings
index 36cfac8..76b7822 100644
--- a/Localizable.xcstrings
+++ b/Localizable.xcstrings
@@ -91,6 +91,9 @@
}
}
},
+ "Copy" : {
+
+ },
"Create" : {
},
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(