venture-ui/src/socket.ts

29 lines
759 B
TypeScript

import { io } from "socket.io-client";
import store from "./store";
import { setRoomCode } from "./store/socketSlice";
import { addContestant } from "./store/displaySlice";
import { setCategories } from "./store/cluesSlice";
export const socket = io(`${window.location.hostname}:5000`);
export const setup = () => {
socket.on("connect", () => {
console.log("Connected to socket");
});
socket.on("set-code", ({ code }: { code: string }) => {
store.dispatch(setRoomCode(code));
});
socket.on(
"contestant-joined",
(data: { sid: string; signature: number[][] }) => {
store.dispatch(addContestant(data));
}
);
socket.on("categories", (data: Record<string, Clue>) => {
store.dispatch(setCategories(data));
});
};