From afa05713824972c1f6edf6a8b92541920edddaa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Fri, 31 May 2024 20:57:09 +0200 Subject: [PATCH] fix page displacement --- client/homebrew/brewRenderer/brewRenderer.jsx | 8 ++++++-- client/homebrew/brewRenderer/toolBar/toolBar.jsx | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index c15e081f1..76494f3eb 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -89,11 +89,12 @@ const BrewRenderer = (props)=>{ iframe.contentWindow.document.querySelector('.brewRenderer'); if (brewRenderer) { const pages = brewRenderer.querySelectorAll('.page'); - console.log(pageNumber); + console.log(`Attempting to scroll to page ${pageNumber} of ${pages.length}`); if (pageNumber + 1 > pages.length || pageNumber < 0) { console.log(pageNumber, pages.length); console.log('page not found'); } else { + console.log(`Scrolling to page: ${pages[pageNumber].id}`); pages[pageNumber].scrollIntoView({ block: 'start' }); } } @@ -119,7 +120,10 @@ const BrewRenderer = (props)=>{ const getCurrentPage = (e) => { const target = e.target; - const currentPageNumber = Math.ceil(target.scrollTop / target.scrollHeight * rawPages.length); + const { scrollTop, clientHeight, scrollHeight } = target; + const totalScrollableHeight = scrollHeight - clientHeight; + + const currentPageNumber = Math.ceil((scrollTop / totalScrollableHeight) * rawPages.length); setState((prevState) => ({ ...prevState, diff --git a/client/homebrew/brewRenderer/toolBar/toolBar.jsx b/client/homebrew/brewRenderer/toolBar/toolBar.jsx index e41c109c7..d6a62316d 100644 --- a/client/homebrew/brewRenderer/toolBar/toolBar.jsx +++ b/client/homebrew/brewRenderer/toolBar/toolBar.jsx @@ -143,8 +143,8 @@ const ToolBar = ({ updateZoom, currentPage, onPageChange, totalPages }) => {