Keep rendered chapters on infinite scroll chapter change
The changes from 642708b8b3 didn't consider the case were the chapter change was triggered due to scrolling to the unloaded previous/next chapter with infinite scroll
This commit is contained in:
@@ -239,8 +239,9 @@ export class ReaderControls {
|
|||||||
const isAlreadyLoaded =
|
const isAlreadyLoaded =
|
||||||
lastLeadingChapterSourceOrder <= chapterToOpen.sourceOrder &&
|
lastLeadingChapterSourceOrder <= chapterToOpen.sourceOrder &&
|
||||||
lastTrailingChapterSourceOrder >= chapterToOpen.sourceOrder;
|
lastTrailingChapterSourceOrder >= chapterToOpen.sourceOrder;
|
||||||
|
const keepRenderedChapters = !scrollIntoView || isAlreadyLoaded;
|
||||||
|
|
||||||
if (isAlreadyLoaded) {
|
if (keepRenderedChapters) {
|
||||||
setReaderStateChapters((prevState) =>
|
setReaderStateChapters((prevState) =>
|
||||||
updateReaderStateVisibleChapters(
|
updateReaderStateVisibleChapters(
|
||||||
isPreviousChapter,
|
isPreviousChapter,
|
||||||
@@ -255,7 +256,7 @@ export class ReaderControls {
|
|||||||
|
|
||||||
openChapter(chapterToOpen, {
|
openChapter(chapterToOpen, {
|
||||||
resumeMode: getReaderOpenChapterResumeMode(isSpecificChapterMode, isPreviousChapter),
|
resumeMode: getReaderOpenChapterResumeMode(isSpecificChapterMode, isPreviousChapter),
|
||||||
updateInitialChapter: !isAlreadyLoaded,
|
updateInitialChapter: !keepRenderedChapters,
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
defaultPromiseErrorHandler('ReaderControls#useOpenChapter#doOpenChapter:')(error);
|
defaultPromiseErrorHandler('ReaderControls#useOpenChapter#doOpenChapter:')(error);
|
||||||
|
|||||||
Reference in New Issue
Block a user