0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-06 18:42:40 +00:00

fix page displacement

This commit is contained in:
Víctor Losada Hernández
2024-05-31 20:57:09 +02:00
parent 75c592b437
commit afa0571382
2 changed files with 8 additions and 4 deletions

View File

@@ -89,11 +89,12 @@ const BrewRenderer = (props)=>{
iframe.contentWindow.document.querySelector('.brewRenderer'); iframe.contentWindow.document.querySelector('.brewRenderer');
if (brewRenderer) { if (brewRenderer) {
const pages = brewRenderer.querySelectorAll('.page'); 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) { if (pageNumber + 1 > pages.length || pageNumber < 0) {
console.log(pageNumber, pages.length); console.log(pageNumber, pages.length);
console.log('page not found'); console.log('page not found');
} else { } else {
console.log(`Scrolling to page: ${pages[pageNumber].id}`);
pages[pageNumber].scrollIntoView({ block: 'start' }); pages[pageNumber].scrollIntoView({ block: 'start' });
} }
} }
@@ -119,7 +120,10 @@ const BrewRenderer = (props)=>{
const getCurrentPage = (e) => { const getCurrentPage = (e) => {
const target = e.target; 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) => ({ setState((prevState) => ({
...prevState, ...prevState,

View File

@@ -143,8 +143,8 @@ const ToolBar = ({ updateZoom, currentPage, onPageChange, totalPages }) => {
<button <button
className="nextPage" className="nextPage"
onClick={() => { onClick={() => {
console.log(`page is ${state.currentPage}`); console.log(`page is ${state.currentPage} and i move to ${state.currentPage}`);
onPageChange(state.currentPage+1); onPageChange(state.currentPage);
}} }}
disabled={state.currentPage + 1 === state.totalPages} disabled={state.currentPage + 1 === state.totalPages}
> >