diff options
Diffstat (limited to 'Sora/Views/Post')
| -rw-r--r-- | Sora/Views/Post/Details/PostDetailsTagsView.swift | 18 | ||||
| -rw-r--r-- | Sora/Views/Post/Grid/PostGridBookmarkButtonView.swift | 21 |
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) } } |