Fix preserving scroll position on leading page render
4f10cb06e3 didn't fix it properly
This commit is contained in:
@@ -233,7 +233,6 @@ const BaseReaderViewer = ({
|
||||
pageScaleMode,
|
||||
shouldStretchPage,
|
||||
readerWidth,
|
||||
themeDirection,
|
||||
);
|
||||
|
||||
useLayoutEffect(() => {
|
||||
|
||||
@@ -24,7 +24,6 @@ import {
|
||||
import { getPreviousNextChapterVisibility } from '@/features/reader/Reader.utils.ts';
|
||||
import type { ChapterIdInfo, TChapterReader } from '@/features/chapter/Chapter.types.ts';
|
||||
import { getReaderPagesStore, getReaderSettingsStore } from '@/features/reader/stores/ReaderStore.ts';
|
||||
import type { Direction } from '@mui/material/styles';
|
||||
|
||||
const shouldPreserveOnResizeChange = (
|
||||
readingMode: ReadingMode,
|
||||
@@ -182,7 +181,6 @@ const usePreserveOnLeadingPageRender = (
|
||||
scrollElementRef: RefObject<HTMLElement | null>,
|
||||
readingMode: ReadingMode,
|
||||
readingDirection: ReadingDirection,
|
||||
themeDirection: Direction,
|
||||
) => {
|
||||
const preservationDataRef = useScrollPreservationData(scrollElementRef);
|
||||
|
||||
@@ -218,10 +216,6 @@ const usePreserveOnLeadingPageRender = (
|
||||
return entry.target.offsetTop < top;
|
||||
}
|
||||
|
||||
if (themeDirection === 'rtl') {
|
||||
return entry.target.offsetLeft < left;
|
||||
}
|
||||
|
||||
return readingDirection === ReadingDirection.LTR
|
||||
? entry.target.offsetLeft < left
|
||||
: entry.target.offsetLeft > left;
|
||||
@@ -263,7 +257,7 @@ const usePreserveOnLeadingPageRender = (
|
||||
mutationObserver.disconnect();
|
||||
resizeObserver.disconnect();
|
||||
};
|
||||
}, [isContinuousReadingModeActive, isContinuousVerticalReadingModeActive]);
|
||||
}, [isContinuousReadingModeActive, isContinuousVerticalReadingModeActive, readingDirection]);
|
||||
};
|
||||
|
||||
const usePreserveOnInfiniteScrollPreviousChapterInitialRender = (
|
||||
@@ -376,7 +370,6 @@ export const useReaderPreserveScrollPosition = (
|
||||
pageScaleMode: ReaderPageScaleMode,
|
||||
shouldStretchPage: boolean,
|
||||
readerWidth: IReaderSettingsManga['readerWidth'],
|
||||
themeDirection: Direction,
|
||||
) => {
|
||||
usePreserveOnInfiniteScrollPreviousChapterInitialRender(
|
||||
scrollElementRef,
|
||||
@@ -387,7 +380,7 @@ export const useReaderPreserveScrollPosition = (
|
||||
visibleChapters,
|
||||
isContinuousReadingMode(readingMode),
|
||||
);
|
||||
usePreserveOnLeadingPageRender(scrollElementRef, readingMode, readingDirection, themeDirection);
|
||||
usePreserveOnLeadingPageRender(scrollElementRef, readingMode, readingDirection);
|
||||
usePreserveOnWindowResize(readingMode, pageScaleMode, currentPageIndex);
|
||||
usePreserveOnValueChange(readingDirection, currentPageIndex);
|
||||
usePreserveOnValueChange(readingMode, currentPageIndex);
|
||||
|
||||
Reference in New Issue
Block a user