From ba3f0f6574ee7c047d8ddcbffcb8fa7abdaba1b0 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sun, 23 Feb 2025 13:06:12 +0100 Subject: [PATCH] Fix closing transition pages in first/last chapter In case the first/last chapter of a manga was opened, clicking the previous/next tap-zone caused the last/first page to get opened --- src/modules/reader/services/ReaderControls.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/modules/reader/services/ReaderControls.ts b/src/modules/reader/services/ReaderControls.ts index 5e8c47f2..f5d83882 100644 --- a/src/modules/reader/services/ReaderControls.ts +++ b/src/modules/reader/services/ReaderControls.ts @@ -402,17 +402,24 @@ export class ReaderControls { } const isPreviousMode = convertedPage === 'previous'; + const isNextMode = convertedPage === 'next'; - const needToHideTransitionPage = isATransitionPageVisibleFlag && !isContinuousReadingModeActive; + const closePreviousTransitionPage = isPreviousTransitionPageVisible && isNextMode; + const closeNextTransitionPage = isNextTransitionPageVisible && isPreviousMode; + + const needToHideTransitionPage = + isATransitionPageVisibleFlag && + !isContinuousReadingModeActive && + (closePreviousTransitionPage || closeNextTransitionPage); if (needToHideTransitionPage) { hideTransitionPage(); - setPageToScrollToIndex(isPreviousMode ? indexOfLastPage : indexOfFirstPage); + setPageToScrollToIndex(isPreviousTransitionPageVisible ? indexOfFirstPage : indexOfLastPage); + return; } const needToOpenTransitionPage = - ((isFirstPage && isPreviousMode) || (isLastPage && !isPreviousMode)) && - !isContinuousReadingModeActive; + ((isFirstPage && isPreviousMode) || (isLastPage && isNextMode)) && !isContinuousReadingModeActive; if (needToOpenTransitionPage) { setTransitionPageMode( isPreviousMode ? ReaderTransitionPageMode.PREVIOUS : ReaderTransitionPageMode.NEXT,