diff --git a/src/modules/reader/components/viewer/ReaderViewer.tsx b/src/modules/reader/components/viewer/ReaderViewer.tsx index 972a1d47..92dcf71b 100644 --- a/src/modules/reader/components/viewer/ReaderViewer.tsx +++ b/src/modules/reader/components/viewer/ReaderViewer.tsx @@ -132,10 +132,17 @@ const BaseReaderViewer = forwardRef( const handleClick = ReaderControls.useHandleClick(scrollElementRef.current); + const previousTotalPages = useRef(totalPages); const [pagesToSpreadState, setPagesToSpreadState] = useState( pageLoadStates.map(({ url }) => ({ url, isSpread: false })), ); + const resetPagesSpreadState = previousTotalPages.current !== totalPages; + if (resetPagesSpreadState) { + previousTotalPages.current = totalPages; + setPagesToSpreadState(pageLoadStates.map(({ url }) => ({ url, isSpread: false }))); + } + const imageRefs = useRef<(HTMLElement | null)[]>(pages.map(() => null)); const actualPages = useMemo(() => { @@ -190,11 +197,6 @@ const BaseReaderViewer = forwardRef( }); }, []); - // reset spread state - useLayoutEffect(() => { - setPagesToSpreadState(Array(totalPages).fill(false)); - }, [totalPages]); - useReaderConvertPagesForReadingMode( currentPageIndex, actualPages,