From f3792edac0395614029cedb7791b77af1a3f0730 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Tue, 31 Dec 2024 17:03:42 +0100 Subject: [PATCH] Ignore visible transition pages on page change in continuous pager --- src/modules/reader/services/ReaderControls.ts | 8 +++++--- src/modules/reader/utils/ReaderPager.utils.tsx | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/modules/reader/services/ReaderControls.ts b/src/modules/reader/services/ReaderControls.ts index d6ba231a..30070408 100644 --- a/src/modules/reader/services/ReaderControls.ts +++ b/src/modules/reader/services/ReaderControls.ts @@ -262,7 +262,7 @@ export class ReaderControls { const { previousChapter, nextChapter } = useReaderStateChaptersContext(); const { setIsVisible: setIsOverlayVisible } = useReaderOverlayContext(); const { setShowPreview } = useReaderTapZoneContext(); - const { readingDirection } = ReaderService.useSettings(); + const { readingDirection, readingMode } = ReaderService.useSettings(); const openChapter = ReaderControls.useOpenChapter(); const currentPage = useMemo(() => getPage(currentPageIndex, pages), [currentPageIndex, pages]); @@ -280,7 +280,8 @@ export class ReaderControls { const isFirstPage = currentPage.primary.index === 0; const isLastPage = currentPageIndex === indexOfLastPage; - const isATransitionPageVisibleFlag = isATransitionPageVisible(transitionPageMode); + const isATransitionPageVisibleFlag = isATransitionPageVisible(transitionPageMode, readingMode.value); + const isContinuousReadingModeActive = isContinuousReadingMode(readingMode.value); return useCallback( (page, forceDirection = direction, hideOverlay: boolean = true) => { @@ -317,7 +318,7 @@ export class ReaderControls { return; } - const needToHideTransitionPage = isATransitionPageVisibleFlag; + const needToHideTransitionPage = isATransitionPageVisibleFlag && !isContinuousReadingModeActive; switch (convertedPage) { case 'previous': if (isFirstPage) { @@ -359,6 +360,7 @@ export class ReaderControls { nextPageIndex, indexOfLastPage, isATransitionPageVisibleFlag, + isContinuousReadingModeActive, isFirstPage, isLastPage, openChapter, diff --git a/src/modules/reader/utils/ReaderPager.utils.tsx b/src/modules/reader/utils/ReaderPager.utils.tsx index 8857e199..d8bf9a52 100644 --- a/src/modules/reader/utils/ReaderPager.utils.tsx +++ b/src/modules/reader/utils/ReaderPager.utils.tsx @@ -510,8 +510,8 @@ export const isTransitionPageVisible = ( readingMode: IReaderSettings['readingMode'], ): boolean => [ReaderTransitionPageMode.BOTH, type].includes(activeMode) || isContinuousReadingMode(readingMode); -export const isATransitionPageVisible = (activeMode: ReaderTransitionPageMode): boolean => - activeMode !== ReaderTransitionPageMode.NONE; +export const isATransitionPageVisible = (activeMode: ReaderTransitionPageMode, readingMode: ReadingMode): boolean => + activeMode !== ReaderTransitionPageMode.NONE || isContinuousReadingMode(readingMode); export const getScrollIntoViewInlineOption = ( offset: DirectionOffset,