all preset tag and change collapsed icon on selection

This commit is contained in:
Diogo
2024-12-13 22:23:22 +00:00
parent b3d67fd0e7
commit 23ad3a9171
2 changed files with 7 additions and 2 deletions
+1
View File
@@ -104,6 +104,7 @@ class ChatTagsModel: ObservableObject {
static let shared = ChatTagsModel()
let presetTags: [ChatTagFilter] = [
.presetTag(icon: "list.bullet", activeIcon: "list.bullet", text: NSLocalizedString("All", comment: "preset chat list"), enabled: true, filter: { c in true }),
.presetTag(icon: "star", activeIcon: "star.fill", text: NSLocalizedString("Favorite", comment: "preset chat list"), enabled: false, filter: { c in c.chatSettings?.favorite ?? false }),
.presetTag(icon: "person", activeIcon: "person.fill", text: NSLocalizedString("Contacts", comment: "preset chat list"), enabled: false, filter: { if case .direct = $0 { true } else { false }}),
.presetTag(icon: "person.2", activeIcon: "person.2.fill", text: NSLocalizedString("Groups", comment: "preset chat list"), enabled: false, filter: { filterGroupChat($0) }),
@@ -754,7 +754,8 @@ struct ChatTagsView: View {
}
@ViewBuilder private func collapsedTagsFilterView(_ filters: [ChatTagFilter]) -> some View {
let presetFilterIsSelected = filters.contains(where: { $0 == chatTagsModel.selectedTag })
let selectedPresetTag = filters.first(where: { $0 == chatTagsModel.selectedTag })
let presetFilterIsSelected = selectedPresetTag != nil || chatTagsModel.selectedTag == nil
let color: Color = presetFilterIsSelected ? .accentColor : .secondary
Menu {
ForEach(filters, id: \.id) { tag in
@@ -768,7 +769,10 @@ struct ChatTagsView: View {
}
}
} label: {
Image(systemName: "list.bullet")
Image(systemName: selectedPresetTag?.getIcon(active: true) ?? "list.bullet")
.resizable()
.scaledToFit()
.frame(width: 22, height: 20)
.foregroundColor(color)
}
}