Skip to content

Commit c6977db

Browse files
committed
refactor: Unify mouse and touch events using PointerEvent
1 parent 40f624c commit c6977db

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

client/src/components/canvas/GameCanvas.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { MouseEvent as ReactMouseEvent, TouchEvent as ReactTouchEvent, useCallback, useEffect, useRef } from 'react';
1+
import { PointerEvent, useCallback, useEffect, useRef } from 'react';
22
import { PlayerRole } from '@troublepainter/core';
33
import { Canvas } from '@/components/canvas/CanvasUI';
44
import { COLORS_INFO, DEFAULT_MAX_PIXELS, MAINCANVAS_RESOLUTION_WIDTH } from '@/constants/canvasConstants';
@@ -118,7 +118,7 @@ const GameCanvas = ({ maxPixels = DEFAULT_MAX_PIXELS, currentRound, isDrawable }
118118
}));
119119

120120
const handleDrawStart = useCallback(
121-
(e: ReactMouseEvent<HTMLCanvasElement> | ReactTouchEvent<HTMLCanvasElement>) => {
121+
(e: PointerEvent<HTMLCanvasElement>) => {
122122
if (!isConnected) return;
123123

124124
const { canvas } = getCanvasContext(canvasRef);
@@ -134,7 +134,7 @@ const GameCanvas = ({ maxPixels = DEFAULT_MAX_PIXELS, currentRound, isDrawable }
134134
);
135135

136136
const handleDrawMove = useCallback(
137-
(e: ReactMouseEvent<HTMLCanvasElement> | ReactTouchEvent<HTMLCanvasElement>) => {
137+
(e: PointerEvent<HTMLCanvasElement>) => {
138138
const { canvas } = getCanvasContext(canvasRef);
139139
const point = getDrawPoint(e, canvas);
140140
const convertPoint = convertCoordinate(point);
@@ -150,7 +150,7 @@ const GameCanvas = ({ maxPixels = DEFAULT_MAX_PIXELS, currentRound, isDrawable }
150150
);
151151

152152
const handleDrawLeave = useCallback(
153-
(e: ReactMouseEvent<HTMLCanvasElement> | ReactTouchEvent<HTMLCanvasElement>) => {
153+
(e: PointerEvent<HTMLCanvasElement>) => {
154154
const { canvas } = getCanvasContext(canvasRef);
155155
const point = getDrawPoint(e, canvas);
156156
const convertPoint = convertCoordinate(point);

client/src/pages/PlaygroundPage.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { MouseEvent as ReactMouseEvent, TouchEvent as ReactTouchEvent, useRef } from 'react';
2-
import { RoomStatus } from '@troublepainter/core';
1+
import { PointerEvent, useRef } from 'react';
32
import { Link } from 'react-router-dom';
43
import { Canvas } from '@/components/canvas/CanvasUI';
54
import { Logo } from '@/components/ui/Logo';
@@ -31,7 +30,7 @@ const PlaygroundPage = () => {
3130
canUndo,
3231
undo,
3332
redo,
34-
} = useDrawing(canvasRef, RoomStatus.DRAWING, {
33+
} = useDrawing(canvasRef, true, {
3534
maxPixels: Number.MAX_SAFE_INTEGER,
3635
});
3736

@@ -41,14 +40,14 @@ const PlaygroundPage = () => {
4140
onClick: () => setCurrentColor(color.backgroundColor),
4241
}));
4342

44-
const handleDrawStart = (e: ReactMouseEvent<HTMLCanvasElement> | ReactTouchEvent<HTMLCanvasElement>) => {
43+
const handleDrawStart = (e: PointerEvent<HTMLCanvasElement>) => {
4544
const { canvas } = getCanvasContext(canvasRef);
4645
const point = getDrawPoint(e, canvas);
4746
const convertPoint = convertCoordinate(point);
4847
startDrawing(convertPoint);
4948
};
5049

51-
const handleDrawMove = (e: ReactMouseEvent<HTMLCanvasElement> | ReactTouchEvent<HTMLCanvasElement>) => {
50+
const handleDrawMove = (e: PointerEvent<HTMLCanvasElement>) => {
5251
const { canvas } = getCanvasContext(canvasRef);
5352
const point = getDrawPoint(e, canvas);
5453
const convertPoint = convertCoordinate(point);
@@ -57,7 +56,7 @@ const PlaygroundPage = () => {
5756
continueDrawing(convertPoint);
5857
};
5958

60-
const handleDrawLeave = (e: ReactMouseEvent<HTMLCanvasElement> | ReactTouchEvent<HTMLCanvasElement>) => {
59+
const handleDrawLeave = (e: PointerEvent<HTMLCanvasElement>) => {
6160
const { canvas } = getCanvasContext(canvasRef);
6261
const point = getDrawPoint(e, canvas);
6362
const convertPoint = convertCoordinate(point);
@@ -98,7 +97,6 @@ const PlaygroundPage = () => {
9897
canvasRef={canvasRef}
9998
cursorCanvasRef={cursorCanvasRef}
10099
isDrawable={true}
101-
isHidden={false}
102100
colors={colorsWithSelect}
103101
brushSize={brushSize}
104102
setBrushSize={setBrushSize}

0 commit comments

Comments
 (0)