Move "ReaderTransitionPage" to "ReaderViewer"
This commit is contained in:
@@ -25,6 +25,8 @@ import {
|
|||||||
IReaderSettings,
|
IReaderSettings,
|
||||||
PageInViewportType,
|
PageInViewportType,
|
||||||
ReaderPageSpreadState,
|
ReaderPageSpreadState,
|
||||||
|
ReaderTransitionPageMode,
|
||||||
|
ReadingDirection,
|
||||||
ReadingMode,
|
ReadingMode,
|
||||||
TReaderScrollbarContext,
|
TReaderScrollbarContext,
|
||||||
} from '@/modules/reader/types/Reader.types.ts';
|
} from '@/modules/reader/types/Reader.types.ts';
|
||||||
@@ -56,6 +58,7 @@ import { useReaderHideCursorOnInactivity } from '@/modules/reader/hooks/useReade
|
|||||||
import { useReaderScrollToStartOnPageChange } from '@/modules/reader/hooks/useReaderScrollToStartOnPageChange.ts';
|
import { useReaderScrollToStartOnPageChange } from '@/modules/reader/hooks/useReaderScrollToStartOnPageChange.ts';
|
||||||
import { useReaderHandlePageSelection } from '@/modules/reader/hooks/useReaderHandlePageSelection.ts';
|
import { useReaderHandlePageSelection } from '@/modules/reader/hooks/useReaderHandlePageSelection.ts';
|
||||||
import { useReaderConvertPagesForReadingMode } from '@/modules/reader/hooks/useReaderConvertPagesForReadingMode.ts';
|
import { useReaderConvertPagesForReadingMode } from '@/modules/reader/hooks/useReaderConvertPagesForReadingMode.ts';
|
||||||
|
import { ReaderTransitionPage } from '@/modules/reader/components/viewer/ReaderTransitionPage.tsx';
|
||||||
|
|
||||||
const READING_MODE_TO_IN_VIEWPORT_TYPE: Record<ReadingMode, PageInViewportType> = {
|
const READING_MODE_TO_IN_VIEWPORT_TYPE: Record<ReadingMode, PageInViewportType> = {
|
||||||
[ReadingMode.SINGLE_PAGE]: PageInViewportType.X,
|
[ReadingMode.SINGLE_PAGE]: PageInViewportType.X,
|
||||||
@@ -170,6 +173,7 @@ const BaseReaderViewer = forwardRef(
|
|||||||
|
|
||||||
const Pager = useMemo(() => getPagerForReadingMode(readingMode), [readingMode]);
|
const Pager = useMemo(() => getPagerForReadingMode(readingMode), [readingMode]);
|
||||||
const inViewportType = READING_MODE_TO_IN_VIEWPORT_TYPE[readingMode];
|
const inViewportType = READING_MODE_TO_IN_VIEWPORT_TYPE[readingMode];
|
||||||
|
const isLtrReadingDirection = readingDirection === ReadingDirection.LTR;
|
||||||
|
|
||||||
const onLoad = useMemo(
|
const onLoad = useMemo(
|
||||||
() =>
|
() =>
|
||||||
@@ -248,11 +252,20 @@ const BaseReaderViewer = forwardRef(
|
|||||||
width: '100%',
|
width: '100%',
|
||||||
height: '100%',
|
height: '100%',
|
||||||
overflow: 'auto',
|
overflow: 'auto',
|
||||||
|
flexWrap: 'nowrap',
|
||||||
...applyStyles(
|
...applyStyles(
|
||||||
isContinuousVerticalReadingMode(readingMode) &&
|
isContinuousVerticalReadingMode(readingMode) &&
|
||||||
shouldApplyReaderWidth(readerWidth, pageScaleMode),
|
shouldApplyReaderWidth(readerWidth, pageScaleMode),
|
||||||
{ alignItems: 'center' },
|
{ alignItems: 'center' },
|
||||||
),
|
),
|
||||||
|
...applyStyles(readingMode === ReadingMode.CONTINUOUS_HORIZONTAL, {
|
||||||
|
...applyStyles(themeDirection === 'ltr', {
|
||||||
|
flexDirection: isLtrReadingDirection ? 'row' : 'row-reverse',
|
||||||
|
}),
|
||||||
|
...applyStyles(themeDirection === 'rtl', {
|
||||||
|
flexDirection: isLtrReadingDirection ? 'row-reverse' : 'row',
|
||||||
|
}),
|
||||||
|
}),
|
||||||
}}
|
}}
|
||||||
onClick={(e) => !isDragging && handleClick(e)}
|
onClick={(e) => !isDragging && handleClick(e)}
|
||||||
onScroll={() =>
|
onScroll={() =>
|
||||||
@@ -265,6 +278,7 @@ const BaseReaderViewer = forwardRef(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
<ReaderTransitionPage type={ReaderTransitionPageMode.PREVIOUS} />
|
||||||
<Pager
|
<Pager
|
||||||
totalPages={totalPages}
|
totalPages={totalPages}
|
||||||
currentPageIndex={currentPageIndex}
|
currentPageIndex={currentPageIndex}
|
||||||
@@ -276,6 +290,7 @@ const BaseReaderViewer = forwardRef(
|
|||||||
onLoad={onLoad}
|
onLoad={onLoad}
|
||||||
onError={onError}
|
onError={onError}
|
||||||
/>
|
/>
|
||||||
|
<ReaderTransitionPage type={ReaderTransitionPageMode.NEXT} />
|
||||||
</Stack>
|
</Stack>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import { ReaderService } from '@/modules/reader/services/ReaderService.ts';
|
|||||||
import { getPageIndexesToLoad } from '@/modules/reader/utils/ReaderPager.utils.tsx';
|
import { getPageIndexesToLoad } from '@/modules/reader/utils/ReaderPager.utils.tsx';
|
||||||
import { ReaderStatePages } from '@/modules/reader/types/ReaderProgressBar.types.ts';
|
import { ReaderStatePages } from '@/modules/reader/types/ReaderProgressBar.types.ts';
|
||||||
import { IReaderSettings, ReaderPagerProps, ReaderTransitionPageMode } from '@/modules/reader/types/Reader.types.ts';
|
import { IReaderSettings, ReaderPagerProps, ReaderTransitionPageMode } from '@/modules/reader/types/Reader.types.ts';
|
||||||
import { ReaderTransitionPage } from '@/modules/reader/components/viewer/ReaderTransitionPage.tsx';
|
|
||||||
import { withPropsFrom } from '@/modules/core/hoc/withPropsFrom.tsx';
|
import { withPropsFrom } from '@/modules/core/hoc/withPropsFrom.tsx';
|
||||||
|
|
||||||
const BaseBasePager = ({
|
const BaseBasePager = ({
|
||||||
@@ -62,9 +61,11 @@ const BaseBasePager = ({
|
|||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
{...slots?.boxProps}
|
{...slots?.boxProps}
|
||||||
sx={[...(Array.isArray(slots?.boxProps?.sx) ? (slots?.boxProps?.sx ?? []) : [slots?.boxProps?.sx])]}
|
sx={[
|
||||||
|
{ width: 'fit-content', height: 'fit-content' },
|
||||||
|
...(Array.isArray(slots?.boxProps?.sx) ? (slots?.boxProps?.sx ?? []) : [slots?.boxProps?.sx]),
|
||||||
|
]}
|
||||||
>
|
>
|
||||||
<ReaderTransitionPage type={ReaderTransitionPageMode.PREVIOUS} />
|
|
||||||
{pages.map((page, pagesIndex) =>
|
{pages.map((page, pagesIndex) =>
|
||||||
createPage(
|
createPage(
|
||||||
page,
|
page,
|
||||||
@@ -74,7 +75,6 @@ const BaseBasePager = ({
|
|||||||
setRef,
|
setRef,
|
||||||
),
|
),
|
||||||
)}
|
)}
|
||||||
<ReaderTransitionPage type={ReaderTransitionPageMode.NEXT} />
|
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ const BaseReaderVerticalPager = ({
|
|||||||
setRef,
|
setRef,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
slots={{ boxProps: { sx: { margin: 'auto' } } }}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user