conditionally attach listeners only when dragging

This commit is contained in:
Josh Hawkins 2024-03-20 21:33:01 -05:00
parent 2b1c7f6b0a
commit c0d59893f6

View File

@ -267,17 +267,24 @@ export function SummaryTimeline({
);
useEffect(() => {
document.addEventListener("mousemove", handleMouseMove);
document.addEventListener("touchmove", handleMouseMove);
document.addEventListener("mouseup", handleMouseUp);
document.addEventListener("touchend", handleMouseUp);
if (isDragging) {
document.addEventListener("mousemove", handleMouseMove);
document.addEventListener("touchmove", handleMouseMove);
document.addEventListener("mouseup", handleMouseUp);
document.addEventListener("touchend", handleMouseUp);
} else {
document.removeEventListener("mousemove", handleMouseMove);
document.removeEventListener("touchmove", handleMouseMove);
document.removeEventListener("mouseup", handleMouseUp);
document.removeEventListener("touchend", handleMouseUp);
}
return () => {
document.removeEventListener("mousemove", handleMouseMove);
document.removeEventListener("touchmove", handleMouseMove);
document.removeEventListener("mouseup", handleMouseUp);
document.removeEventListener("touchend", handleMouseUp);
};
}, [handleMouseMove, handleMouseUp]);
}, [handleMouseMove, handleMouseUp, isDragging]);
return (
<div