blob: bb6d0c7c97ce21a85c580867791d8a3a55bff440 (
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
34
35
36
37
|
import SwiftUI
struct PostGridBookmarkButtonView: View {
@ObservedObject var manager: BooruManager
@EnvironmentObject private var settings: SettingsManager
var contained: Bool {
let lowercaseTags = manager.tags.map { $0.lowercased() }
return settings.bookmarks
.contains { bookmark in
bookmark.tags == lowercaseTags
&& bookmark.provider == manager.provider
}
}
var body: some View {
Button(
action: {
contained
? settings
.removeBookmark(withTags: manager.tags)
: settings
.addBookmark(
provider: manager.provider,
tags: manager.tags
)
}
) {
Label(
"Bookmark",
systemImage:
contained ? "bookmark.fill" : "bookmark"
)
}
}
}
|