diff --git a/app/src/main/java/com/example/notesai/presentation/screens/main/MainScreen.kt b/app/src/main/java/com/example/notesai/presentation/screens/main/MainScreen.kt index 0413e1d..987f2c8 100644 --- a/app/src/main/java/com/example/notesai/presentation/screens/main/MainScreen.kt +++ b/app/src/main/java/com/example/notesai/presentation/screens/main/MainScreen.kt @@ -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 } }