From ecd628a1d571798e2b1b657e3b30847b7fe7d627 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Mon, 15 Jun 2026 15:29:58 +0200 Subject: [PATCH] Fix preserving scroll position on leading page render 4f10cb06e32d38ff95c5109525bee71672e38cc8 didn't fix it properly --- src/features/reader/viewer/ReaderViewer.tsx | 1 - .../viewer/hooks/useReaderPreserveScrollPosition.ts | 11 ++--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/features/reader/viewer/ReaderViewer.tsx b/src/features/reader/viewer/ReaderViewer.tsx index d3de8fe2..0a45f9f4 100644 --- a/src/features/reader/viewer/ReaderViewer.tsx +++ b/src/features/reader/viewer/ReaderViewer.tsx @@ -233,7 +233,6 @@ const BaseReaderViewer = ({ pageScaleMode, shouldStretchPage, readerWidth, - themeDirection, ); useLayoutEffect(() => { diff --git a/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts index 091a45fe..df2082c4 100644 --- a/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts +++ b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts @@ -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, 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);