diff --git a/.gitignore b/.gitignore
index 50c8dda..1a30e0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,4 @@ dist-ssr
*.sw?
.env
+test
\ No newline at end of file
diff --git a/index.html b/index.html
index 12d2898..7f6b79f 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
-
-
{message.content}
+
{renderMessageContent(message.content)}
{message.timestamp && (
{
onClose();
}
- // 2. 페이지 이동 (새로고침 없음)
- navigate(getCanvasUrl(canvasId));
+ // 2. 페이지 이동 (새로고침 포함)
+ window.location.href = getCanvasUrl(canvasId);
};
// URL 생성 함수 (Query parameter 방식 사용)
diff --git a/src/services/socketService.ts b/src/services/socketService.ts
index cc84717..a395ab0 100644
--- a/src/services/socketService.ts
+++ b/src/services/socketService.ts
@@ -137,7 +137,7 @@ class SocketService {
// 인증 에러 리스너 제거
offAuthError(callback: (error: { message: string }) => void) {
if (this.socket) {
- this.socket.off('autherror', callback);
+ this.socket.off('auth_error', callback);
}
}
}
diff --git a/src/setupTests.ts b/src/setupTests.ts
new file mode 100644
index 0000000..87be034
--- /dev/null
+++ b/src/setupTests.ts
@@ -0,0 +1,7 @@
+class ResizeObserver {
+ observe() {}
+ unobserve() {}
+ disconnect() {}
+}
+
+window.ResizeObserver = ResizeObserver;
diff --git a/src/store/canvasUiStore.ts b/src/store/canvasUiStore.ts
index cd4f12c..b886b4a 100644
--- a/src/store/canvasUiStore.ts
+++ b/src/store/canvasUiStore.ts
@@ -9,6 +9,9 @@ interface CanvasUiState {
// 캔버스 내 좌표 값
hoverPos: HoverPos;
setHoverPos: (pos: HoverPos) => void;
+ // 채팅에서 클릭된 좌표
+ targetPixel: { x: number; y: number } | null;
+ setTargetPixel: (pos: { x: number; y: number } | null) => void;
// 잔여 쿨다운 시간
timeLeft: number;
setTimeLeft: (timeLeft: number | ((prev: number) => number)) => void;
@@ -44,6 +47,9 @@ export const useCanvasUiStore = create((set, get) => ({
hoverPos: null,
setHoverPos: (hoverPos) => set({ hoverPos }),
+ targetPixel: null,
+ setTargetPixel: (targetPixel) => set({ targetPixel }),
+
timeLeft: 0,
setTimeLeft: (newTimeLeft) =>
set((state) => ({
diff --git a/vitest.config.ts b/vitest.config.ts
new file mode 100644
index 0000000..fc38606
--- /dev/null
+++ b/vitest.config.ts
@@ -0,0 +1,11 @@
+import { defineConfig } from 'vitest/config';
+import react from '@vitejs/plugin-react';
+
+export default defineConfig({
+ plugins: [react()],
+ test: {
+ environment: 'jsdom',
+ globals: true,
+ setupFiles: ['./src/setupTests.ts'],
+ },
+});