summaryrefslogtreecommitdiff
path: root/Sora/Views/Post/PostGridBookmarkButtonView.swift
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/Post/PostGridBookmarkButtonView.swift
parentfeat: Development commit (diff)
downloadsora-testing-e0c42650816c8185124785cfa8be02a8852aa249.tar.xz
sora-testing-e0c42650816c8185124785cfa8be02a8852aa249.zip
feat: Development commit
Diffstat (limited to 'Sora/Views/Post/PostGridBookmarkButtonView.swift')
-rw-r--r--Sora/Views/Post/PostGridBookmarkButtonView.swift22
1 files changed, 22 insertions, 0 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")
+ }
+ }
+}