mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-10 06:42:05 +01:00
Fix a few reader bugs
This commit is contained in:
@@ -77,12 +77,8 @@ fun ReaderImage(
|
||||
imageModifier: Modifier = Modifier.fillMaxSize(),
|
||||
loadingModifier: Modifier = imageModifier,
|
||||
contentScale: ContentScale = ContentScale.Fit,
|
||||
onImage: (Int) -> Unit,
|
||||
retry: (Int) -> Unit
|
||||
) {
|
||||
SideEffect {
|
||||
onImage(imageIndex)
|
||||
}
|
||||
|
||||
if (drawable != null) {
|
||||
Image(
|
||||
@@ -102,7 +98,7 @@ fun PagerReader(readerVM: ReaderMenuViewModel, chapter: Chapter, currentPage: In
|
||||
PagerState(
|
||||
currentPage = currentPage,
|
||||
minPage = 1,
|
||||
maxPage = chapter.pageCount
|
||||
maxPage = chapter.pageCount - 1
|
||||
)
|
||||
}
|
||||
LaunchedEffect(state.currentPage) {
|
||||
@@ -111,14 +107,13 @@ fun PagerReader(readerVM: ReaderMenuViewModel, chapter: Chapter, currentPage: In
|
||||
}
|
||||
}
|
||||
Pager(state) {
|
||||
val image = pages[this.currentPage - 1]
|
||||
val image = pages[page - 1]
|
||||
ReaderImage(
|
||||
image.index,
|
||||
image.bitmap.collectAsState().value,
|
||||
image.loading.collectAsState().value,
|
||||
image.error.collectAsState().value,
|
||||
loadingModifier = pageModifier,
|
||||
onImage = readerVM::progress,
|
||||
retry = readerVM::retry
|
||||
)
|
||||
}
|
||||
@@ -128,13 +123,15 @@ fun PagerReader(readerVM: ReaderMenuViewModel, chapter: Chapter, currentPage: In
|
||||
fun ContinuesReader(readerVM: ReaderMenuViewModel, pages: List<ReaderImage>, pageModifier: Modifier) {
|
||||
LazyColumn {
|
||||
items(pages) { image ->
|
||||
LaunchedEffect(image.index) {
|
||||
readerVM.progress(image.index)
|
||||
}
|
||||
ReaderImage(
|
||||
image.index,
|
||||
image.bitmap.collectAsState().value,
|
||||
image.loading.collectAsState().value,
|
||||
image.error.collectAsState().value,
|
||||
loadingModifier = pageModifier,
|
||||
onImage = readerVM::progress,
|
||||
retry = readerVM::retry
|
||||
)
|
||||
}
|
||||
|
||||
@@ -50,8 +50,6 @@ class ReaderMenuViewModel @Inject constructor(
|
||||
scope.launch(Dispatchers.Default) {
|
||||
val chapter: Chapter
|
||||
_chapter.value = chapterHandler.getChapter(params.mangaId, params.chapterIndex).also { chapter = it }
|
||||
_isLoading.value = false
|
||||
|
||||
val pageRange = 1..(chapter.pageCount ?: 1)
|
||||
_pages.value = listOf(
|
||||
*pageRange.map {
|
||||
@@ -63,6 +61,8 @@ class ReaderMenuViewModel @Inject constructor(
|
||||
)
|
||||
}.toTypedArray()
|
||||
)
|
||||
_isLoading.value = false
|
||||
|
||||
val semaphore = Semaphore(3)
|
||||
pageRange.map {
|
||||
async {
|
||||
|
||||
Reference in New Issue
Block a user