+
+ {bubbles.map(bubble => {
+ const client = clients.find(c => c.id === bubble.id);
+ return client ? (
+
handleBubbleClick(bubble.id)}
+ >
+ {client.name}
+
+ ) : null;
+ })}
+
+}
\ No newline at end of file
diff --git a/frontend/src/store/ws.ts b/frontend/src/store/ws.ts
new file mode 100644
index 0000000..5ea36a2
--- /dev/null
+++ b/frontend/src/store/ws.ts
@@ -0,0 +1,74 @@
+import { create } from 'zustand'
+
+type RoomState = {
+ conn: WebSocket | null
+ retryCount: number
+ reconnectTimer: number | null
+}
+
+type RoomActions = {
+ register: () => Promise