diff --git a/src/components/canvas.jsx b/src/components/canvas.jsx index 7e6572e..5e8ef32 100644 --- a/src/components/canvas.jsx +++ b/src/components/canvas.jsx @@ -1,4 +1,4 @@ -import React, { useContext, useRef, useState } from "react"; +import React, { useContext, useRef, useState, useEffect } from "react"; import { useDrop } from "react-dnd"; import Table from "./table"; import { @@ -51,6 +51,7 @@ export default function Canvas(props) { mouseY: 0, }); const [cursor, setCursor] = useState("default"); + const [zoom, setZoom] = useState(1); const canvas = useRef(null); @@ -347,6 +348,26 @@ export default function Canvas(props) { [tables, areas] ); + const handleMouseWheel = (e) => { + // const zoomDirection = e.deltaY > 0 ? "out" : "in"; + e.preventDefault(); + if (e.deltaY <= 0 ) { + setZoom((prev) => prev * 1.1); + } else { + setZoom((prev) => prev / 1.1); + } + }; + + useEffect(() => { + const canvasElement = canvas.current; + canvasElement.addEventListener("wheel", handleMouseWheel, { + passive: false, + }); + return () => { + canvasElement.removeEventListener("wheel", handleMouseWheel); + }; + }, []); + return (