Penyesuaian Smart Search
This commit is contained in:
parent
4caea5c83e
commit
171d808dad
@ -43,11 +43,25 @@ fun MainScreen(
|
||||
)
|
||||
} else {
|
||||
// Filter kategori berdasarkan searchQuery
|
||||
val filteredCategories = if (searchQuery.isEmpty()) {
|
||||
val filteredCategories = if (searchQuery.isBlank()) {
|
||||
categories
|
||||
} else {
|
||||
categories.filter {
|
||||
it.name.contains(searchQuery, ignoreCase = true)
|
||||
categories.filter { category ->
|
||||
// 1. Cek nama kategori cocok
|
||||
val categoryNameMatches = category.name.contains(searchQuery, ignoreCase = true)
|
||||
|
||||
// 2. Cek ada catatan yang cocok di kategori ini
|
||||
val hasMatchingNotes = notes.any { note ->
|
||||
note.categoryId == category.id &&
|
||||
!note.isDeleted &&
|
||||
!note.isArchived &&
|
||||
(note.title.contains(searchQuery, ignoreCase = true) ||
|
||||
note.description.contains(searchQuery, ignoreCase = true) ||
|
||||
note.content.contains(searchQuery, ignoreCase = true))
|
||||
}
|
||||
|
||||
// Kategori muncul jika salah satu kondisi terpenuhi
|
||||
categoryNameMatches || hasMatchingNotes
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user