From 2510d118880bf9d51ad64279624ed29b3e73d491 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Wed, 12 Nov 2025 03:38:03 +0100 Subject: [PATCH] Preserve reader current page on "page scale" setting change --- src/features/reader/viewer/ReaderViewer.tsx | 1 + .../reader/viewer/hooks/useReaderPreserveScrollPosition.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/features/reader/viewer/ReaderViewer.tsx b/src/features/reader/viewer/ReaderViewer.tsx index c83666a2..759f1d22 100644 --- a/src/features/reader/viewer/ReaderViewer.tsx +++ b/src/features/reader/viewer/ReaderViewer.tsx @@ -272,6 +272,7 @@ const BaseReaderViewer = ({ readingDirection, setPageToScrollToIndex, pageScaleMode, + shouldStretchPage, ); useLayoutEffect(() => { diff --git a/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts index 4b8e3fa4..4e8ec9a0 100644 --- a/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts +++ b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts @@ -358,6 +358,7 @@ export const useReaderPreserveScrollPosition = ( readingDirection: ReadingDirection, setPageToScrollToIndex: ReaderStatePages['setPageToScrollToIndex'], pageScaleMode: ReaderPageScaleMode, + shouldStretchPage: boolean, ) => { usePreserveOnInfiniteScrollPreviousChapterInitialRender( scrollElementRef, @@ -372,4 +373,6 @@ export const useReaderPreserveScrollPosition = ( usePreserveOnWindowResize(readingMode, pageScaleMode, setPageToScrollToIndex, currentPageIndex); usePreserveOnValueChange(readingDirection, currentPageIndex, setPageToScrollToIndex); usePreserveOnValueChange(readingMode, currentPageIndex, setPageToScrollToIndex); + usePreserveOnValueChange(pageScaleMode, currentPageIndex, setPageToScrollToIndex); + usePreserveOnValueChange(shouldStretchPage, currentPageIndex, setPageToScrollToIndex); };