Changed position of copied element

This commit is contained in:
Lucas Oliveira 2023-12-04 17:16:23 -03:00
commit 34aef1540b

View file

@ -84,7 +84,7 @@ export default function Page({
const { takeSnapshot } = useContext(undoRedoContext); const { takeSnapshot } = useContext(undoRedoContext);
const [position, setPosition] = useState({ x: 0, y: 0 }); const position = useRef({ x: 0, y: 0 });
const [lastSelection, setLastSelection] = const [lastSelection, setLastSelection] =
useState<OnSelectionChangeParams | null>(null); useState<OnSelectionChangeParams | null>(null);
@ -106,8 +106,8 @@ export default function Page({
) { ) {
event.preventDefault(); event.preventDefault();
paste(lastCopiedSelection, { paste(lastCopiedSelection, {
x: position.x, x: position.current.x,
y: position.y, y: position.current.y,
}); });
} }
if ( if (
@ -131,24 +131,18 @@ export default function Page({
} }
}; };
document.addEventListener("keydown", onKeyDown);
return () => {
document.removeEventListener("keydown", onKeyDown);
};
}, [lastCopiedSelection, lastSelection]);
useEffect(() => {
const handleMouseMove = (event) => { const handleMouseMove = (event) => {
setPosition({ x: event.clientX, y: event.clientY }); position.current = { x: event.clientX, y: event.clientY };
}; };
document.addEventListener("keydown", onKeyDown);
document.addEventListener("mousemove", handleMouseMove); document.addEventListener("mousemove", handleMouseMove);
return () => { return () => {
document.removeEventListener("keydown", onKeyDown);
document.removeEventListener("mousemove", handleMouseMove); document.removeEventListener("mousemove", handleMouseMove);
}; };
}, [position]); }, [lastCopiedSelection, lastSelection]);
const [selectionMenuVisible, setSelectionMenuVisible] = useState(false); const [selectionMenuVisible, setSelectionMenuVisible] = useState(false);