Ignore visible transition pages on page change in continuous pager
This commit is contained in:
@@ -262,7 +262,7 @@ export class ReaderControls {
|
|||||||
const { previousChapter, nextChapter } = useReaderStateChaptersContext();
|
const { previousChapter, nextChapter } = useReaderStateChaptersContext();
|
||||||
const { setIsVisible: setIsOverlayVisible } = useReaderOverlayContext();
|
const { setIsVisible: setIsOverlayVisible } = useReaderOverlayContext();
|
||||||
const { setShowPreview } = useReaderTapZoneContext();
|
const { setShowPreview } = useReaderTapZoneContext();
|
||||||
const { readingDirection } = ReaderService.useSettings();
|
const { readingDirection, readingMode } = ReaderService.useSettings();
|
||||||
const openChapter = ReaderControls.useOpenChapter();
|
const openChapter = ReaderControls.useOpenChapter();
|
||||||
|
|
||||||
const currentPage = useMemo(() => getPage(currentPageIndex, pages), [currentPageIndex, pages]);
|
const currentPage = useMemo(() => getPage(currentPageIndex, pages), [currentPageIndex, pages]);
|
||||||
@@ -280,7 +280,8 @@ export class ReaderControls {
|
|||||||
|
|
||||||
const isFirstPage = currentPage.primary.index === 0;
|
const isFirstPage = currentPage.primary.index === 0;
|
||||||
const isLastPage = currentPageIndex === indexOfLastPage;
|
const isLastPage = currentPageIndex === indexOfLastPage;
|
||||||
const isATransitionPageVisibleFlag = isATransitionPageVisible(transitionPageMode);
|
const isATransitionPageVisibleFlag = isATransitionPageVisible(transitionPageMode, readingMode.value);
|
||||||
|
const isContinuousReadingModeActive = isContinuousReadingMode(readingMode.value);
|
||||||
|
|
||||||
return useCallback(
|
return useCallback(
|
||||||
(page, forceDirection = direction, hideOverlay: boolean = true) => {
|
(page, forceDirection = direction, hideOverlay: boolean = true) => {
|
||||||
@@ -317,7 +318,7 @@ export class ReaderControls {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const needToHideTransitionPage = isATransitionPageVisibleFlag;
|
const needToHideTransitionPage = isATransitionPageVisibleFlag && !isContinuousReadingModeActive;
|
||||||
switch (convertedPage) {
|
switch (convertedPage) {
|
||||||
case 'previous':
|
case 'previous':
|
||||||
if (isFirstPage) {
|
if (isFirstPage) {
|
||||||
@@ -359,6 +360,7 @@ export class ReaderControls {
|
|||||||
nextPageIndex,
|
nextPageIndex,
|
||||||
indexOfLastPage,
|
indexOfLastPage,
|
||||||
isATransitionPageVisibleFlag,
|
isATransitionPageVisibleFlag,
|
||||||
|
isContinuousReadingModeActive,
|
||||||
isFirstPage,
|
isFirstPage,
|
||||||
isLastPage,
|
isLastPage,
|
||||||
openChapter,
|
openChapter,
|
||||||
|
|||||||
@@ -510,8 +510,8 @@ export const isTransitionPageVisible = (
|
|||||||
readingMode: IReaderSettings['readingMode'],
|
readingMode: IReaderSettings['readingMode'],
|
||||||
): boolean => [ReaderTransitionPageMode.BOTH, type].includes(activeMode) || isContinuousReadingMode(readingMode);
|
): boolean => [ReaderTransitionPageMode.BOTH, type].includes(activeMode) || isContinuousReadingMode(readingMode);
|
||||||
|
|
||||||
export const isATransitionPageVisible = (activeMode: ReaderTransitionPageMode): boolean =>
|
export const isATransitionPageVisible = (activeMode: ReaderTransitionPageMode, readingMode: ReadingMode): boolean =>
|
||||||
activeMode !== ReaderTransitionPageMode.NONE;
|
activeMode !== ReaderTransitionPageMode.NONE || isContinuousReadingMode(readingMode);
|
||||||
|
|
||||||
export const getScrollIntoViewInlineOption = (
|
export const getScrollIntoViewInlineOption = (
|
||||||
offset: DirectionOffset,
|
offset: DirectionOffset,
|
||||||
|
|||||||
Reference in New Issue
Block a user