From 141991285a747c8b1f31aacd640596e0e7b26eda Mon Sep 17 00:00:00 2001 From: khalidh223 Date: Fri, 22 Dec 2023 17:40:54 -0600 Subject: [PATCH] #98: Fixes bug where dragging mouse off canvas doesn't release click to allow a second mark to be made --- components/canvas/DrawCanvas.tsx | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/components/canvas/DrawCanvas.tsx b/components/canvas/DrawCanvas.tsx index 5fe8f3e..e9011a3 100644 --- a/components/canvas/DrawCanvas.tsx +++ b/components/canvas/DrawCanvas.tsx @@ -235,15 +235,21 @@ const setupCanvasListeners = ( lastCoords.current = { x: event.offsetX, y: event.offsetY } } + const onMouseLeave = () => { + drawingRef.current = false; + } + canvas.addEventListener("mousedown", onMouseDown) canvas.addEventListener("mouseup", stopDrawing) canvas.addEventListener("mousemove", onMouseMove) + canvas.addEventListener("mouseleave", onMouseLeave) return () => { if (canvas) { canvas.removeEventListener("mousedown", onMouseDown) canvas.removeEventListener("mouseup", stopDrawing) canvas.removeEventListener("mousemove", onMouseMove) + canvas.removeEventListener("mouseleave", onMouseLeave) } } } diff --git a/package.json b/package.json index 5f7d974..50ff6b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fake-artist", - "version": "1.0.0", + "version": "1.0.1", "private": true, "scripts": { "dev": "next dev",