diff --git a/client/homebrew/brewRenderer/toolBar/toolBar.jsx b/client/homebrew/brewRenderer/toolBar/toolBar.jsx index 5043b89c8..37cfcb6d7 100644 --- a/client/homebrew/brewRenderer/toolBar/toolBar.jsx +++ b/client/homebrew/brewRenderer/toolBar/toolBar.jsx @@ -6,160 +6,160 @@ const maxZoom = 300; const minZoom = 10; const zoomStep = 10; -const ToolBar = ({ updateZoom, currentPage, onPageChange, totalPages }) => { - const [state, setState] = useState({ - currentPage: currentPage, - totalPages: totalPages, - zoomLevel: 100, - pageNumberInput: currentPage, - zoomInput: 100, - }); +const ToolBar = ({ updateZoom, currentPage, onPageChange, totalPages })=>{ + const [state, setState] = useState({ + currentPage : currentPage, + totalPages : totalPages, + zoomLevel : 100, + pageNumberInput : currentPage, + zoomInput : 100, + }); - useEffect(() => { - updateZoom(state.zoomLevel); - }, [state.zoomLevel]); + useEffect(()=>{ + updateZoom(state.zoomLevel); + }, [state.zoomLevel]); - useEffect(() => { - setState((prevState) => ({ - ...prevState, - currentPage: currentPage, - pageNumberInput: currentPage, - })); - }, [currentPage]); + useEffect(()=>{ + setState((prevState)=>({ + ...prevState, + currentPage : currentPage, + pageNumberInput : currentPage, + })); + }, [currentPage]); - const setZoomLevel = (direction) => { - let zoomLevel = state.zoomLevel; - if (direction === 'in') { - zoomLevel += zoomStep; - } else { - zoomLevel -= zoomStep; - } + const setZoomLevel = (direction)=>{ + let zoomLevel = state.zoomLevel; + if(direction === 'in') { + zoomLevel += zoomStep; + } else { + zoomLevel -= zoomStep; + } - setState((prevState) => ({ - ...prevState, - zoomLevel: zoomLevel, - zoomInput: zoomLevel, - })); - }; + setState((prevState)=>({ + ...prevState, + zoomLevel : zoomLevel, + zoomInput : zoomLevel, + })); + }; - const handleInputChange = (value, type) => { - const newValue = parseInt(value, 10); + const handleInputChange = (value, type)=>{ + const newValue = parseInt(value, 10); - if (type === 'zoom' && newValue >= minZoom && newValue <= maxZoom) { - setState((prevState) => ({ - ...prevState, - zoomInput: newValue, - })); - } else if (type === 'page' && newValue >= 1 && newValue <= totalPages) { - setState((prevState) => ({ - ...prevState, - pageNumberInput: newValue, - })); - } - }; + if(type === 'zoom' && newValue >= minZoom && newValue <= maxZoom) { + setState((prevState)=>({ + ...prevState, + zoomInput : newValue, + })); + } else if(type === 'page' && newValue >= 1 && newValue <= totalPages) { + setState((prevState)=>({ + ...prevState, + pageNumberInput : newValue, + })); + } + }; - return ( -
-
- -
-
- handleInputChange(e.target.value, 'zoom')} - onMouseUp={(e) => { - const newZoomLevel = parseInt(e.target.value, 10); - if (newZoomLevel !== state.zoomLevel) { - setState((prevState) => ({ - ...prevState, - zoomLevel: newZoomLevel, - zoomInput: newZoomLevel, - })); - updateZoom(newZoomLevel); - } - }} - /> - - {Array.from( - { - length: + +
+
+ handleInputChange(e.target.value, 'zoom')} + onMouseUp={(e)=>{ + const newZoomLevel = parseInt(e.target.value, 10); + if(newZoomLevel !== state.zoomLevel) { + setState((prevState)=>({ + ...prevState, + zoomLevel : newZoomLevel, + zoomInput : newZoomLevel, + })); + updateZoom(newZoomLevel); + } + }} + /> + + {Array.from( + { + length : Math.floor((maxZoom - minZoom) / zoomStep) + 1, - }, - (_, i) => minZoom + i * zoomStep - ).map((option) => ( - -
+ }, + (_, i)=>minZoom + i * zoomStep + ).map((option)=>( +
-
- -
-
- -
+ + +
+ +
- handleInputChange(e.target.value, 'page')} - onBlur={(e) => { - parseInt(state.pageNumberInput) === state.currentPage || + handleInputChange(e.target.value, 'page')} + onBlur={(e)=>{ + parseInt(state.pageNumberInput) === state.currentPage || onPageChange(parseInt(state.pageNumberInput) - 1); - }} - onKeyPress={(e) => { - if (e.key === 'Enter') { - e.target.blur(); - } - }} - /> + }} + onKeyPress={(e)=>{ + if(e.key === 'Enter') { + e.target.blur(); + } + }} + /> -
- -
- - ); +
+ +
+ + ); }; module.exports = ToolBar;