@@ -112,7 +112,7 @@ const BaseReaderTransitionPage = ({
|
|||||||
|
|
||||||
const isFitWidthPageScaleMode = [ReaderPageScaleMode.SCREEN, ReaderPageScaleMode.WIDTH].includes(pageScaleMode);
|
const isFitWidthPageScaleMode = [ReaderPageScaleMode.SCREEN, ReaderPageScaleMode.WIDTH].includes(pageScaleMode);
|
||||||
|
|
||||||
if (!isTransitionPageVisible(transitionPageMode, readingMode, type)) {
|
if (!isTransitionPageVisible(type, transitionPageMode, readingMode)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,9 +35,9 @@ import {
|
|||||||
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 {
|
import {
|
||||||
|
isATransitionPageVisible,
|
||||||
isEndOfPageInViewport,
|
isEndOfPageInViewport,
|
||||||
isPageInViewport,
|
isPageInViewport,
|
||||||
isTransitionPageVisible,
|
|
||||||
} from '@/modules/reader/utils/ReaderPager.utils.tsx';
|
} 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';
|
||||||
@@ -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, readingMode } = ReaderService.useSettings();
|
const { readingDirection } = 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,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 = isTransitionPageVisible(transitionPageMode, readingMode.value);
|
const isATransitionPageVisibleFlag = isATransitionPageVisible(transitionPageMode);
|
||||||
|
|
||||||
return useCallback(
|
return useCallback(
|
||||||
(page, forceDirection = direction, hideOverlay: boolean = true) => {
|
(page, forceDirection = direction, hideOverlay: boolean = true) => {
|
||||||
@@ -304,20 +304,20 @@ export class ReaderControls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const shouldOpenPreviousChapter =
|
const shouldOpenPreviousChapter =
|
||||||
isFirstPage && isATransitionPageVisible && convertedPage === 'previous' && !!previousChapter;
|
isFirstPage && isATransitionPageVisibleFlag && convertedPage === 'previous' && !!previousChapter;
|
||||||
if (shouldOpenPreviousChapter) {
|
if (shouldOpenPreviousChapter) {
|
||||||
openChapter('previous');
|
openChapter('previous');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const shouldOpenNextChapter =
|
const shouldOpenNextChapter =
|
||||||
isLastPage && isATransitionPageVisible && convertedPage === 'next' && !!nextChapter;
|
isLastPage && isATransitionPageVisibleFlag && convertedPage === 'next' && !!nextChapter;
|
||||||
if (shouldOpenNextChapter) {
|
if (shouldOpenNextChapter) {
|
||||||
openChapter('next');
|
openChapter('next');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const needToHideTransitionPage = isATransitionPageVisible;
|
const needToHideTransitionPage = isATransitionPageVisibleFlag;
|
||||||
switch (convertedPage) {
|
switch (convertedPage) {
|
||||||
case 'previous':
|
case 'previous':
|
||||||
if (isFirstPage) {
|
if (isFirstPage) {
|
||||||
@@ -358,7 +358,7 @@ export class ReaderControls {
|
|||||||
previousPageIndex,
|
previousPageIndex,
|
||||||
nextPageIndex,
|
nextPageIndex,
|
||||||
indexOfLastPage,
|
indexOfLastPage,
|
||||||
isATransitionPageVisible,
|
isATransitionPageVisibleFlag,
|
||||||
isFirstPage,
|
isFirstPage,
|
||||||
isLastPage,
|
isLastPage,
|
||||||
openChapter,
|
openChapter,
|
||||||
|
|||||||
@@ -484,12 +484,13 @@ export const getPageIndexesToLoad = (
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const isTransitionPageVisible = (
|
export const isTransitionPageVisible = (
|
||||||
|
type: ReaderTransitionPageMode,
|
||||||
activeMode: ReaderTransitionPageMode,
|
activeMode: ReaderTransitionPageMode,
|
||||||
readingMode: IReaderSettings['readingMode'],
|
readingMode: IReaderSettings['readingMode'],
|
||||||
transitionPageType: ReaderTransitionPageMode = activeMode,
|
): boolean => [ReaderTransitionPageMode.BOTH, type].includes(activeMode) || isContinuousReadingMode(readingMode);
|
||||||
): boolean =>
|
|
||||||
(activeMode !== ReaderTransitionPageMode.NONE && activeMode === transitionPageType) ||
|
export const isATransitionPageVisible = (activeMode: ReaderTransitionPageMode): boolean =>
|
||||||
isContinuousReadingMode(readingMode);
|
activeMode !== ReaderTransitionPageMode.NONE;
|
||||||
|
|
||||||
export const getScrollIntoViewInlineOption = (
|
export const getScrollIntoViewInlineOption = (
|
||||||
offset: DirectionOffset,
|
offset: DirectionOffset,
|
||||||
|
|||||||
Reference in New Issue
Block a user