Penyesuaian Smart Search
This commit is contained in:
parent
4caea5c83e
commit
171d808dad
@ -43,11 +43,25 @@ fun MainScreen(
|
|||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
// Filter kategori berdasarkan searchQuery
|
// Filter kategori berdasarkan searchQuery
|
||||||
val filteredCategories = if (searchQuery.isEmpty()) {
|
val filteredCategories = if (searchQuery.isBlank()) {
|
||||||
categories
|
categories
|
||||||
} else {
|
} else {
|
||||||
categories.filter {
|
categories.filter { category ->
|
||||||
it.name.contains(searchQuery, ignoreCase = true)
|
// 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