blob: 90336f9beea936333a8b57aa53655c78756855d2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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")
}
}
}
|