import SwiftUI struct PostGridBookmarkButtonView: View { @EnvironmentObject private var manager: BooruManager @EnvironmentObject private var settings: Settings var contained: Bool { settings.bookmarks .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( provider: manager.provider ?? settings.preferredBooru, tags: manager.tags ) }) { Label("Bookmark", systemImage: contained ? "bookmark.fill" : "bookmark") } } }