MangaScreen: Fix close in action mode exists from screen (#10160)
* MangaScreen: Fix close in action mode exists from screen * L
This commit is contained in:
parent
1fbf8ca079
commit
3006604922
2 changed files with 17 additions and 14 deletions
|
@ -266,13 +266,12 @@ private fun MangaScreenSmallImpl(
|
|||
) {
|
||||
val chapterListState = rememberLazyListState()
|
||||
|
||||
val chapters = remember(state) { state.processedChapters }
|
||||
val listItem = remember(state) { state.chapterListItems }
|
||||
|
||||
val isAnySelected by remember {
|
||||
derivedStateOf {
|
||||
chapters.fastAny { it.selected }
|
||||
}
|
||||
val (chapters, listItem, isAnySelected) = remember(state) {
|
||||
Triple(
|
||||
first = state.processedChapters,
|
||||
second = state.chapterListItems,
|
||||
third = state.isAnySelected,
|
||||
)
|
||||
}
|
||||
|
||||
val internalOnBackPressed = {
|
||||
|
@ -520,13 +519,12 @@ fun MangaScreenLargeImpl(
|
|||
val layoutDirection = LocalLayoutDirection.current
|
||||
val density = LocalDensity.current
|
||||
|
||||
val chapters = remember(state) { state.processedChapters }
|
||||
val listItem = remember(state) { state.chapterListItems }
|
||||
|
||||
val isAnySelected by remember {
|
||||
derivedStateOf {
|
||||
chapters.fastAny { it.selected }
|
||||
}
|
||||
val (chapters, listItem, isAnySelected) = remember(state) {
|
||||
Triple(
|
||||
first = state.processedChapters,
|
||||
second = state.chapterListItems,
|
||||
third = state.isAnySelected,
|
||||
)
|
||||
}
|
||||
|
||||
val insetPadding = WindowInsets.systemBars.only(WindowInsetsSides.Horizontal).asPaddingValues()
|
||||
|
|
|
@ -6,6 +6,7 @@ import androidx.compose.material3.SnackbarResult
|
|||
import androidx.compose.runtime.Immutable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.ui.util.fastAny
|
||||
import cafe.adriel.voyager.core.model.StateScreenModel
|
||||
import cafe.adriel.voyager.core.model.screenModelScope
|
||||
import eu.kanade.core.preference.asState
|
||||
|
@ -1052,6 +1053,10 @@ class MangaScreenModel(
|
|||
chapters.applyFilters(manga).toList()
|
||||
}
|
||||
|
||||
val isAnySelected by lazy {
|
||||
chapters.fastAny { it.selected }
|
||||
}
|
||||
|
||||
val chapterListItems by lazy {
|
||||
processedChapters.insertSeparators { before, after ->
|
||||
val (lowerChapter, higherChapter) = if (manga.sortDescending()) {
|
||||
|
|
Reference in a new issue