Open previous/next chapter at end of continuous pager via hotkey
For continuous pagers the chapter transition page is always visible regardless of the current "transitionPageMode". However, this was not properly checked and thus, it wasn't considered to be visible and instead of opening the previous/next chapter, the transition page got set to be visible first and only with the second hotkey press did the chapter get opened
This commit is contained in:
@@ -112,7 +112,7 @@ const BaseReaderTransitionPage = ({
|
|||||||
|
|
||||||
const isFitWidthPageScaleMode = [ReaderPageScaleMode.SCREEN, ReaderPageScaleMode.WIDTH].includes(pageScaleMode);
|
const isFitWidthPageScaleMode = [ReaderPageScaleMode.SCREEN, ReaderPageScaleMode.WIDTH].includes(pageScaleMode);
|
||||||
|
|
||||||
if (!isTransitionPageVisible(type, transitionPageMode, readingMode)) {
|
if (!isTransitionPageVisible(transitionPageMode, readingMode, type)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,11 @@ import {
|
|||||||
ReaderScrollAmount,
|
ReaderScrollAmount,
|
||||||
READING_DIRECTION_TO_THEME_DIRECTION,
|
READING_DIRECTION_TO_THEME_DIRECTION,
|
||||||
} from '@/modules/reader/constants/ReaderSettings.constants.tsx';
|
} from '@/modules/reader/constants/ReaderSettings.constants.tsx';
|
||||||
import { isEndOfPageInViewport, isPageInViewport } from '@/modules/reader/utils/ReaderPager.utils.tsx';
|
import {
|
||||||
|
isEndOfPageInViewport,
|
||||||
|
isPageInViewport,
|
||||||
|
isTransitionPageVisible,
|
||||||
|
} from '@/modules/reader/utils/ReaderPager.utils.tsx';
|
||||||
import { useReaderOverlayContext } from '@/modules/reader/contexts/ReaderOverlayContext.tsx';
|
import { useReaderOverlayContext } from '@/modules/reader/contexts/ReaderOverlayContext.tsx';
|
||||||
import { useReaderTapZoneContext } from '@/modules/reader/contexts/ReaderTapZoneContext.tsx';
|
import { useReaderTapZoneContext } from '@/modules/reader/contexts/ReaderTapZoneContext.tsx';
|
||||||
import { TapZoneRegionType } from '@/modules/reader/types/TapZoneLayout.types.ts';
|
import { TapZoneRegionType } from '@/modules/reader/types/TapZoneLayout.types.ts';
|
||||||
@@ -273,7 +277,7 @@ export class ReaderControls {
|
|||||||
|
|
||||||
const isFirstPage = currentPage.primary.index === 0;
|
const isFirstPage = currentPage.primary.index === 0;
|
||||||
const isLastPage = currentPageIndex === indexOfLastPage;
|
const isLastPage = currentPageIndex === indexOfLastPage;
|
||||||
const isATransitionPageVisible = transitionPageMode !== ReaderTransitionPageMode.NONE;
|
const isATransitionPageVisible = isTransitionPageVisible(transitionPageMode, readingMode.value);
|
||||||
const isContinuousReadingModeActive = isContinuousReadingMode(readingMode.value);
|
const isContinuousReadingModeActive = isContinuousReadingMode(readingMode.value);
|
||||||
|
|
||||||
return useCallback(
|
return useCallback(
|
||||||
|
|||||||
@@ -482,10 +482,11 @@ export const getPageIndexesToLoad = (
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const isTransitionPageVisible = (
|
export const isTransitionPageVisible = (
|
||||||
mode: ReaderTransitionPageMode,
|
|
||||||
activeMode: ReaderTransitionPageMode,
|
activeMode: ReaderTransitionPageMode,
|
||||||
readingMode: IReaderSettings['readingMode'],
|
readingMode: IReaderSettings['readingMode'],
|
||||||
): boolean => [ReaderTransitionPageMode.BOTH, mode].includes(activeMode) || isContinuousReadingMode(readingMode);
|
transitionPageType?: ReaderTransitionPageMode,
|
||||||
|
): boolean =>
|
||||||
|
[ReaderTransitionPageMode.BOTH, transitionPageType].includes(activeMode) || isContinuousReadingMode(readingMode);
|
||||||
|
|
||||||
export const getScrollIntoViewInlineOption = (
|
export const getScrollIntoViewInlineOption = (
|
||||||
offset: DirectionOffset,
|
offset: DirectionOffset,
|
||||||
|
|||||||
Reference in New Issue
Block a user