blob: a25b24fde4487c9e00f6ab46202fa89475370a56 (
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
29
30
31
32
33
|
import SwiftUI
struct PostGridBookmarkButtonView: View {
@EnvironmentObject private var manager: BooruManager
@EnvironmentObject private var settings: Settings
var contained: Bool {
settings.bookmarks
.contains {
$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")
}
}
}
|