Show empty library message properly

Fixes #8632
The `library` map still contains the default category even when "empty".

(cherry picked from commit ac1bed38f93e6b8e51b6f8cc2dae97c7ccb5f9b6)
This commit is contained in:
arkon 2022-11-27 10:43:38 -05:00 committed by Jobobby04
parent a0e2f12635
commit e7c2970561
2 changed files with 4 additions and 3 deletions

View File

@ -179,7 +179,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,
@ -201,7 +201,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

@ -13,6 +13,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
@ -1315,7 +1316,7 @@ class LibraryScreenModel(
val libraryCount by lazy {
library
.flatMap { (_, v) -> v }
.distinctBy { it.libraryManga.manga.id }
.fastDistinctBy { it.libraryManga.manga.id }
.size
}