parent
f8e4153dbf
commit
ed5e013874
2 changed files with 8 additions and 9 deletions
|
@ -87,8 +87,7 @@ class LibraryScreenModel(
|
||||||
private val trackManager: TrackManager = Injekt.get(),
|
private val trackManager: TrackManager = Injekt.get(),
|
||||||
) : StateScreenModel<LibraryScreenModel.State>(State()) {
|
) : StateScreenModel<LibraryScreenModel.State>(State()) {
|
||||||
|
|
||||||
// This is active category INDEX NUMBER
|
var activeCategoryIndex: Int by libraryPreferences.lastUsedCategory().asState(coroutineScope)
|
||||||
var activeCategory: Int by libraryPreferences.lastUsedCategory().asState(coroutineScope)
|
|
||||||
|
|
||||||
val isDownloadOnly: Boolean by preferences.downloadedOnly().asState(coroutineScope)
|
val isDownloadOnly: Boolean by preferences.downloadedOnly().asState(coroutineScope)
|
||||||
val isIncognitoMode: Boolean by preferences.incognitoMode().asState(coroutineScope)
|
val isIncognitoMode: Boolean by preferences.incognitoMode().asState(coroutineScope)
|
||||||
|
@ -588,7 +587,7 @@ class LibraryScreenModel(
|
||||||
suspend fun getRandomLibraryItemForCurrentCategory(): LibraryItem? {
|
suspend fun getRandomLibraryItemForCurrentCategory(): LibraryItem? {
|
||||||
return withIOContext {
|
return withIOContext {
|
||||||
state.value
|
state.value
|
||||||
.getLibraryItemsByCategoryId(activeCategory.toLong())
|
.getLibraryItemsByCategoryId(state.value.categories[activeCategoryIndex].id)
|
||||||
?.randomOrNull()
|
?.randomOrNull()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ object LibraryTab : Tab {
|
||||||
started
|
started
|
||||||
}
|
}
|
||||||
val onClickFilter: () -> Unit = {
|
val onClickFilter: () -> Unit = {
|
||||||
scope.launch { sendSettingsSheetIntent(state.categories[screenModel.activeCategory]) }
|
scope.launch { sendSettingsSheetIntent(state.categories[screenModel.activeCategoryIndex]) }
|
||||||
}
|
}
|
||||||
|
|
||||||
Scaffold(
|
Scaffold(
|
||||||
|
@ -105,7 +105,7 @@ object LibraryTab : Tab {
|
||||||
val title = state.getToolbarTitle(
|
val title = state.getToolbarTitle(
|
||||||
defaultTitle = stringResource(R.string.label_library),
|
defaultTitle = stringResource(R.string.label_library),
|
||||||
defaultCategoryTitle = stringResource(R.string.label_default),
|
defaultCategoryTitle = stringResource(R.string.label_default),
|
||||||
page = screenModel.activeCategory,
|
page = screenModel.activeCategoryIndex,
|
||||||
)
|
)
|
||||||
val tabVisible = state.showCategoryTabs && state.categories.size > 1
|
val tabVisible = state.showCategoryTabs && state.categories.size > 1
|
||||||
LibraryToolbar(
|
LibraryToolbar(
|
||||||
|
@ -115,8 +115,8 @@ object LibraryTab : Tab {
|
||||||
incognitoMode = !tabVisible && screenModel.isIncognitoMode,
|
incognitoMode = !tabVisible && screenModel.isIncognitoMode,
|
||||||
downloadedOnlyMode = !tabVisible && screenModel.isDownloadOnly,
|
downloadedOnlyMode = !tabVisible && screenModel.isDownloadOnly,
|
||||||
onClickUnselectAll = screenModel::clearSelection,
|
onClickUnselectAll = screenModel::clearSelection,
|
||||||
onClickSelectAll = { screenModel.selectAll(screenModel.activeCategory) },
|
onClickSelectAll = { screenModel.selectAll(screenModel.activeCategoryIndex) },
|
||||||
onClickInvertSelection = { screenModel.invertSelection(screenModel.activeCategory) },
|
onClickInvertSelection = { screenModel.invertSelection(screenModel.activeCategoryIndex) },
|
||||||
onClickFilter = onClickFilter,
|
onClickFilter = onClickFilter,
|
||||||
onClickRefresh = { onClickRefresh(null) },
|
onClickRefresh = { onClickRefresh(null) },
|
||||||
onClickOpenRandomManga = {
|
onClickOpenRandomManga = {
|
||||||
|
@ -169,9 +169,9 @@ object LibraryTab : Tab {
|
||||||
searchQuery = state.searchQuery,
|
searchQuery = state.searchQuery,
|
||||||
selection = state.selection,
|
selection = state.selection,
|
||||||
contentPadding = contentPadding,
|
contentPadding = contentPadding,
|
||||||
currentPage = { screenModel.activeCategory },
|
currentPage = { screenModel.activeCategoryIndex },
|
||||||
showPageTabs = state.showCategoryTabs || !state.searchQuery.isNullOrEmpty(),
|
showPageTabs = state.showCategoryTabs || !state.searchQuery.isNullOrEmpty(),
|
||||||
onChangeCurrentPage = { screenModel.activeCategory = it },
|
onChangeCurrentPage = { screenModel.activeCategoryIndex = it },
|
||||||
onMangaClicked = { navigator.push(MangaScreen(it)) },
|
onMangaClicked = { navigator.push(MangaScreen(it)) },
|
||||||
onContinueReadingClicked = { it: LibraryManga ->
|
onContinueReadingClicked = { it: LibraryManga ->
|
||||||
scope.launchIO {
|
scope.launchIO {
|
||||||
|
|
Reference in a new issue