0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-07 16:22:42 +00:00

remove redundant handleScroll() method

handleScroll is replaced by getCurrentPage(), which effectively does the same thing.  The math is slightly different, though very similar, and result seems to be the same.
This commit is contained in:
Gazook89
2024-08-23 18:33:14 -05:00
parent f34107ee1d
commit 561ff6283a

View File

@@ -61,12 +61,11 @@ const BrewRenderer = (props)=>{
}; };
const [state, setState] = useState({ const [state, setState] = useState({
viewablePageNumber : 0, height : PAGE_HEIGHT,
height : PAGE_HEIGHT, isMounted : false,
isMounted : false, visibility : 'hidden',
visibility : 'hidden', zoom : 100,
zoom : 100, currentPageNumber : 1,
currentPageNumber : 1,
}); });
const mainRef = useRef(null); const mainRef = useRef(null);
@@ -90,16 +89,6 @@ const BrewRenderer = (props)=>{
})); }));
}; };
const handleScroll = (e)=>{
const target = e.target;
setState((prevState)=>({
...prevState,
viewablePageNumber : Math.floor(target.scrollTop / target.scrollHeight * rawPages.length)
}));
getCurrentPage(e);
};
const getCurrentPage = (e) => { const getCurrentPage = (e) => {
const target = e.target; const target = e.target;
const { scrollTop, clientHeight, scrollHeight } = target; const { scrollTop, clientHeight, scrollHeight } = target;
@@ -109,7 +98,7 @@ const BrewRenderer = (props)=>{
setState((prevState) => ({ setState((prevState) => ({
...prevState, ...prevState,
currentPageNumber: currentPageNumber || 1 currentPageNumber : currentPageNumber || 1
})); }));
}; };
@@ -120,7 +109,7 @@ const BrewRenderer = (props)=>{
if(index == props.currentEditorPage) //Already rendered before this step if(index == props.currentEditorPage) //Already rendered before this step
return false; return false;
if(Math.abs(index - state.viewablePageNumber) <= 3) if(Math.abs(index - state.currentPageNumber) <= 3)
return true; return true;
return false; return false;
@@ -132,7 +121,7 @@ const BrewRenderer = (props)=>{
{props.renderer} {props.renderer}
</div> </div>
<div> <div>
{state.viewablePageNumber + 1} / {rawPages.length} {state.currentPageNumber} / {rawPages.length}
</div> </div>
</div>; </div>;
}; };
@@ -219,7 +208,7 @@ const BrewRenderer = (props)=>{
<> <>
{/*render dummy page while iFrame is mounting.*/} {/*render dummy page while iFrame is mounting.*/}
{!state.isMounted {!state.isMounted
? <div className='brewRenderer' onScroll={handleScroll}> ? <div className='brewRenderer' onScroll={getCurrentPage}>
<div className='pages'> <div className='pages'>
{renderDummyPage(1)} {renderDummyPage(1)}
</div> </div>
@@ -242,7 +231,7 @@ const BrewRenderer = (props)=>{
onClick={()=>{emitClick();}} onClick={()=>{emitClick();}}
> >
<div className={'brewRenderer'} <div className={'brewRenderer'}
onScroll={handleScroll} onScroll={getCurrentPage}
onKeyDown={handleControlKeys} onKeyDown={handleControlKeys}
tabIndex={-1} tabIndex={-1}
style={{ height: state.height }}> style={{ height: state.height }}>