summaryrefslogtreecommitdiff
path: root/Sora/Views
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-06-18 04:39:23 -0700
committerFuwn <[email protected]>2025-06-18 04:39:23 -0700
commitc2adf048f5e08d24b8101ae4ae9912b770a836ad (patch)
tree99bcd9c54752503c9c17fc69ee24b08fd1b70bcf /Sora/Views
parentfeat: Development commit (diff)
downloadsora-testing-c2adf048f5e08d24b8101ae4ae9912b770a836ad.tar.xz
sora-testing-c2adf048f5e08d24b8101ae4ae9912b770a836ad.zip
feat: Development commit
Diffstat (limited to 'Sora/Views')
-rw-r--r--Sora/Views/Post/Details/PostDetailsTagsView.swift17
1 files changed, 12 insertions, 5 deletions
diff --git a/Sora/Views/Post/Details/PostDetailsTagsView.swift b/Sora/Views/Post/Details/PostDetailsTagsView.swift
index 803273b..a8c3abc 100644
--- a/Sora/Views/Post/Details/PostDetailsTagsView.swift
+++ b/Sora/Views/Post/Details/PostDetailsTagsView.swift
@@ -7,27 +7,34 @@ 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: {
- manager.searchText = tag
+ Task { @MainActor in
+ manager.searchText = tag
- search()
+ search()
+ }
}) {
Text(tag)
}
+ .id(tag)
.contextMenu {
if !manager.searchText.contains(tag) {
Button(action: {
- manager.searchText += " \(tag)"
+ Task { @MainActor in
+ manager.searchText += " \(tag)"
- search()
+ search()
+ }
}) {
Label("Add to Search", systemImage: "plus")
}
}
- let isBookmarked = settings.bookmarks.contains { $0.tags.contains(tag) }
+ let isBookmarked = bookmarkedTags.contains(tag)
Button(action: {
if isBookmarked {