feat: add search functionality

This commit is contained in:
Owen Gretzinger
2025-07-10 21:46:24 -04:00
parent 99eba5a138
commit 59a326e6c3
3 changed files with 51 additions and 22 deletions
@@ -7,9 +7,28 @@ class MeetingListViewModel: ObservableObject {
@Published var meetings: [Meeting] = []
@Published var isLoading = false
@Published var errorMessage: String?
@Published var searchText: String = ""
private var cancellables = Set<AnyCancellable>()
// Computed property to filter meetings based on search text
var filteredMeetings: [Meeting] {
guard !searchText.isEmpty else { return meetings }
return meetings.filter { meeting in
// Search in title
meeting.title.localizedCaseInsensitiveContains(searchText) ||
// Search in user notes
meeting.userNotes.localizedCaseInsensitiveContains(searchText) ||
// Search in generated notes
meeting.generatedNotes.localizedCaseInsensitiveContains(searchText) ||
// Search in transcript text
meeting.transcriptChunks.contains { chunk in
chunk.text.localizedCaseInsensitiveContains(searchText)
}
}
}
init() {
loadMeetings()