diff --git a/client/homebrew/brewRenderer/toolBar/toolBar.jsx b/client/homebrew/brewRenderer/toolBar/toolBar.jsx index 7e1eeac35..30563598d 100644 --- a/client/homebrew/brewRenderer/toolBar/toolBar.jsx +++ b/client/homebrew/brewRenderer/toolBar/toolBar.jsx @@ -9,7 +9,7 @@ const MIN_ZOOM = 10; const ToolBar = ({ onZoomChange, currentPage, onPageChange, totalPages })=>{ const [zoomLevel, setZoomLevel] = useState(100); - const [pageNum, setPageNum] = useState(currentPage); + const [pageNum, setPageNum] = useState(currentPage); useEffect(()=>{ onZoomChange(zoomLevel); @@ -20,35 +20,26 @@ const ToolBar = ({ onZoomChange, currentPage, onPageChange, totalPages })=>{ }, [currentPage]); const handleZoomButton = (delta)=>{ - const newZoomLevel = _.clamp(zoomLevel + delta, MIN_ZOOM, MAX_ZOOM); - setZoomLevel(newZoomLevel); + setZoomLevel(_.clamp(zoomLevel + delta, MIN_ZOOM, MAX_ZOOM)); }; - const handlePageChange = (page)=>{ - const regex = /[0-9]/; - if(regex.test(page)){ - const num = parseInt(page); // input type is 'text', so `page` comes in as a string, not number. - setPageNum(num) - } else { - return; - } + const handlePageInput = (pageInput)=>{ + if(/[0-9]/.test(pageInput)) + setPageNum(parseInt(pageInput)); // input type is 'text', so `page` comes in as a string, not number. }; const scrollToPage = (pageNumber)=>{ pageNumber = _.clamp(pageNumber, 1, totalPages); const iframe = document.getElementById('BrewRenderer'); - if(iframe && iframe.contentWindow) { - const brewRenderer = iframe.contentWindow.document.querySelector('.brewRenderer'); - if(brewRenderer) { - const pages = brewRenderer.querySelectorAll('.page'); - pages[pageNumber - 1]?.scrollIntoView({ block: 'start' }); - } - } + const brewRenderer = iframe?.contentWindow?.document.querySelector('.brewRenderer'); + const page = brewRenderer?.querySelector(`#p${pageNumber}`) + page?.scrollIntoView({ block: 'start' }); setPageNum(pageNumber); }; return (
+ {/*v=====----------------------< Zoom Controls >---------------------=====v*/}
+ {/*v=====----------------------< Page Controls >---------------------=====v*/}
-
- ); };