Show empty library message properly

Fixes #8632
The `library` map still contains the default category even when "empty".
This commit is contained in:
arkon 2022-11-27 10:43:38 -05:00
parent 217b03a292
commit ac1bed38f9
2 changed files with 4 additions and 3 deletions

View File

@ -134,7 +134,7 @@ object LibraryScreen : Screen {
return@Scaffold
}
if (state.searchQuery.isNullOrEmpty() && state.library.isEmpty()) {
if (state.searchQuery.isNullOrEmpty() && state.libraryCount == 0) {
val handler = LocalUriHandler.current
EmptyScreen(
textResource = R.string.information_empty_library,
@ -156,7 +156,7 @@ object LibraryScreen : Screen {
selection = state.selection,
contentPadding = contentPadding,
currentPage = { screenModel.activeCategory },
isLibraryEmpty = state.library.isEmpty(),
isLibraryEmpty = state.libraryCount == 0,
showPageTabs = state.showCategoryTabs,
onChangeCurrentPage = { screenModel.activeCategory = it },
onMangaClicked = { router.openManga(it) },

View File

@ -10,6 +10,7 @@ import cafe.adriel.voyager.core.model.coroutineScope
import eu.kanade.core.prefs.CheckboxState
import eu.kanade.core.prefs.PreferenceMutableState
import eu.kanade.core.prefs.asState
import eu.kanade.core.util.fastDistinctBy
import eu.kanade.core.util.fastFilter
import eu.kanade.core.util.fastFilterNot
import eu.kanade.core.util.fastMapNotNull
@ -750,7 +751,7 @@ class LibraryScreenModel(
val libraryCount by lazy {
library
.flatMap { (_, v) -> v }
.distinctBy { it.libraryManga.manga.id }
.fastDistinctBy { it.libraryManga.manga.id }
.size
}