summaryrefslogtreecommitdiff
path: root/Sora/Views/Post
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Views/Post')
-rw-r--r--Sora/Views/Post/Details/PostDetailsTagsView.swift18
-rw-r--r--Sora/Views/Post/Grid/PostGridBookmarkButtonView.swift21
2 files changed, 2 insertions, 37 deletions
diff --git a/Sora/Views/Post/Details/PostDetailsTagsView.swift b/Sora/Views/Post/Details/PostDetailsTagsView.swift
index a8c3abc..4cd8840 100644
--- a/Sora/Views/Post/Details/PostDetailsTagsView.swift
+++ b/Sora/Views/Post/Details/PostDetailsTagsView.swift
@@ -7,8 +7,6 @@ struct PostDetailsTagsView: View {
var tags: [String]
var body: some View {
- let bookmarkedTags = Set(settings.bookmarks.flatMap(\.tags))
-
List {
ForEach(tags, id: \.self) { tag in
Button(action: {
@@ -34,21 +32,7 @@ struct PostDetailsTagsView: View {
}
}
- let isBookmarked = bookmarkedTags.contains(tag)
-
- Button(action: {
- if isBookmarked {
- settings.removeBookmark(withTags: tags)
- } else {
- settings.addBookmark(provider: settings.preferredBooru, tags: [tag])
- }
- }) {
- if isBookmarked {
- Label("Unbookmark Tag", systemImage: "bookmark.fill")
- } else {
- Label("Bookmark Tag", systemImage: "bookmark")
- }
- }
+ BookmarkMenuButtonView(tags: [tag], provider: settings.preferredBooru)
}
}
#if os(macOS)
diff --git a/Sora/Views/Post/Grid/PostGridBookmarkButtonView.swift b/Sora/Views/Post/Grid/PostGridBookmarkButtonView.swift
index 8c1c097..8f2effc 100644
--- a/Sora/Views/Post/Grid/PostGridBookmarkButtonView.swift
+++ b/Sora/Views/Post/Grid/PostGridBookmarkButtonView.swift
@@ -15,25 +15,6 @@ struct PostGridBookmarkButtonView: View {
}
var body: some View {
- Button(
- action: {
- contained
- ? settings
- .removeBookmark(withTags: manager.tags)
- : settings
- .addBookmark(
- provider: manager.provider,
- tags: manager.tags
- )
- }
- ) {
- let isBookmarked = settings.bookmarks.contains { $0.tags == manager.tags }
-
- Label(
- isBookmarked ? "Remove Bookmark" : "Bookmark",
- systemImage:
- contained ? "bookmark.fill" : "bookmark"
- )
- }
+ BookmarkMenuButtonView(tags: manager.tags, provider: manager.provider)
}
}