diff options
Diffstat (limited to 'Sora/Views/Post/PostGridBookmarkButtonView.swift')
| -rw-r--r-- | Sora/Views/Post/PostGridBookmarkButtonView.swift | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/Sora/Views/Post/PostGridBookmarkButtonView.swift b/Sora/Views/Post/PostGridBookmarkButtonView.swift index 531eefe..90336f9 100644 --- a/Sora/Views/Post/PostGridBookmarkButtonView.swift +++ b/Sora/Views/Post/PostGridBookmarkButtonView.swift @@ -6,17 +6,23 @@ struct PostGridBookmarkButtonView: View { var contained: Bool { settings.bookmarks - .contains(where: { $0.tags == manager.tags.map { $0.lowercased() } }) + .contains(where: { $0.tags == manager.tags.map { $0.lowercased() } && $0.provider == manager.provider ?? settings.preferredBooru }) } var body: some View { - Button(action: { - contained ? settings.removeBookmark(withTags: manager.tags) : settings.addBookmark(tags: manager.tags) - }) { - Label("Bookmark", systemImage: - contained ? - "bookmark.fill" : - "bookmark") - } + Button( + action: { + contained ? settings + .removeBookmark(withTags: manager.tags) : settings + .addBookmark( + provider: manager.provider ?? settings.preferredBooru, + tags: manager.tags + ) + }) { + Label("Bookmark", systemImage: + contained ? + "bookmark.fill" : + "bookmark") + } } } |