diff options
| author | Fuwn <[email protected]> | 2025-02-20 06:21:47 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-20 06:21:47 -0800 |
| commit | e0c42650816c8185124785cfa8be02a8852aa249 (patch) | |
| tree | 8ba866cdb12a510a446feb80b218de02819a269d /Sora/Views/Post/PostGridBookmarkButtonView.swift | |
| parent | feat: Development commit (diff) | |
| download | sora-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.swift | 22 |
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") + } + } +} |