summaryrefslogtreecommitdiff
path: root/Sora/Views
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-02-20 06:21:47 -0800
committerFuwn <[email protected]>2025-02-20 06:21:47 -0800
commite0c42650816c8185124785cfa8be02a8852aa249 (patch)
tree8ba866cdb12a510a446feb80b218de02819a269d /Sora/Views
parentfeat: Development commit (diff)
downloadsora-testing-e0c42650816c8185124785cfa8be02a8852aa249.tar.xz
sora-testing-e0c42650816c8185124785cfa8be02a8852aa249.zip
feat: Development commit
Diffstat (limited to 'Sora/Views')
-rw-r--r--Sora/Views/Post/PostGridBookmarkButtonView.swift22
-rw-r--r--Sora/Views/Post/PostGridView.swift19
2 files changed, 30 insertions, 11 deletions
diff --git a/Sora/Views/Post/PostGridBookmarkButtonView.swift b/Sora/Views/Post/PostGridBookmarkButtonView.swift
new file mode 100644
index 0000000..c4d8dc8
--- /dev/null
+++ b/Sora/Views/Post/PostGridBookmarkButtonView.swift
@@ -0,0 +1,22 @@
+import SwiftUI
+
+struct PostGridBookmarkButtonView: View {
+ @EnvironmentObject private var manager: MoebooruManager
+ @EnvironmentObject private var settings: Settings
+
+ var contained: Bool {
+ settings.bookmarks
+ .contains(where: { $0.tags == manager.tags.map { $0.lowercased() } })
+ }
+
+ var body: some View {
+ Button(action: {
+ contained ? settings.removeBookmark(withTags: manager.tags) : settings.addBookmark(tags: manager.tags)
+ }) {
+ Label("Bookmark", systemImage:
+ contained ?
+ "bookmark.fill" :
+ "bookmark")
+ }
+ }
+}
diff --git a/Sora/Views/Post/PostGridView.swift b/Sora/Views/Post/PostGridView.swift
index 2054ef1..625cb1e 100644
--- a/Sora/Views/Post/PostGridView.swift
+++ b/Sora/Views/Post/PostGridView.swift
@@ -84,18 +84,15 @@ struct PostGridView: View {
#endif
.toolbar {
if !manager.tags.isEmpty {
- ToolbarItem {
- let contained = settings.bookmarks.contains(where: { $0.tags == manager.tags })
-
- Button(action: {
- contained ? settings.removeBookmark(withTags: manager.tags) : settings.addBookmark(tags: manager.tags)
- }) {
- Label("Bookmark", systemImage:
- contained ?
- "bookmark.fill" :
- "bookmark")
+ #if os(macOS)
+ ToolbarItem {
+ PostGridBookmarkButtonView()
}
- }
+ #else
+ ToolbarItem(placement: .bottomBar) {
+ PostGridBookmarkButtonView()
+ }
+ #endif
}
}
.navigationTitle("Posts")