From 0c1abebaf47b0cd92c0f32cad316e867e96e322c Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Tue, 19 Mar 2024 22:46:31 +0100 Subject: [PATCH] Disconnect resize observer after restoring initial page (#660) Everytime the reader width got changed, the resize observer triggered the initial page to get scrolled into view again --- src/components/reader/pager/HorizontalPager.tsx | 1 + src/components/reader/pager/VerticalPager.tsx | 1 + 2 files changed, 2 insertions(+) diff --git a/src/components/reader/pager/HorizontalPager.tsx b/src/components/reader/pager/HorizontalPager.tsx index 4d15f2fe..0eb9731e 100644 --- a/src/components/reader/pager/HorizontalPager.tsx +++ b/src/components/reader/pager/HorizontalPager.tsx @@ -115,6 +115,7 @@ export function HorizontalPager(props: IReaderProps) { const resizeObserver = new ResizeObserver(() => { initialPageElement.scrollIntoView({ inline: 'center' }); + resizeObserver.disconnect(); }); resizeObserver.observe(initialPageElement); diff --git a/src/components/reader/pager/VerticalPager.tsx b/src/components/reader/pager/VerticalPager.tsx index ea139f81..6ee1155e 100644 --- a/src/components/reader/pager/VerticalPager.tsx +++ b/src/components/reader/pager/VerticalPager.tsx @@ -173,6 +173,7 @@ export function VerticalPager(props: IReaderProps) { const resizeObserver = new ResizeObserver(() => { initialPageElement.scrollIntoView(); + resizeObserver.disconnect(); }); resizeObserver.observe(initialPageElement);