Penyesuaian Smart Search

This commit is contained in:
202310715297 RAIHAN ARIQ MUZAKKI 2025-12-25 22:52:22 +07:00
parent 4caea5c83e
commit 171d808dad

View File

@ -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
}
}