2020-06-07 00:08:40 +00:00
|
|
|
import socketIOClient from "socket.io-client";
|
|
|
|
import config from "./config";
|
2020-01-26 00:50:18 +00:00
|
|
|
|
2020-01-28 06:40:03 +00:00
|
|
|
const launch = (nsp, dispatch) => {
|
|
|
|
const socket = socketIOClient(`${config.socketAddress}/${nsp}`);
|
2020-06-07 00:08:40 +00:00
|
|
|
|
|
|
|
socket.on("connected", () => {
|
|
|
|
dispatch({
|
|
|
|
type: "SOCKET",
|
|
|
|
message: "CONNECTED",
|
|
|
|
body: { nsp: socket.nsp },
|
|
|
|
});
|
|
|
|
});
|
|
|
|
socket.on("connect_error", (err) => {
|
|
|
|
dispatch({
|
|
|
|
type: "ERR",
|
|
|
|
message: "SOCKET_ERROR",
|
|
|
|
body: { socketError: err },
|
|
|
|
});
|
|
|
|
});
|
|
|
|
socket.on("error", (err) => {
|
|
|
|
dispatch({
|
|
|
|
type: "ERR",
|
|
|
|
message: "SOCKET_ERROR",
|
|
|
|
body: { socketError: err },
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
socket.on("room_connected", (data) => {
|
|
|
|
dispatch({ type: "ROOMS", message: "CONNECT_ROOM", body: data });
|
2020-01-26 00:50:18 +00:00
|
|
|
});
|
2020-06-07 00:08:40 +00:00
|
|
|
|
|
|
|
socket.on("new_user", (data) => {
|
|
|
|
dispatch({ type: "ROOMS", message: "NEW_USER", body: data });
|
2020-01-26 00:50:18 +00:00
|
|
|
});
|
2020-06-07 00:08:40 +00:00
|
|
|
|
|
|
|
socket.on("game_connected", (data) => {
|
|
|
|
dispatch({ type: "GAMES", message: "UPDATE_BOARD", body: data });
|
2020-01-26 00:50:18 +00:00
|
|
|
});
|
2020-06-07 00:08:40 +00:00
|
|
|
|
|
|
|
socket.on("update_board", (data) => {
|
|
|
|
dispatch({ type: "GAMES", message: "UPDATE_BOARD", body: data });
|
2020-01-26 00:50:18 +00:00
|
|
|
});
|
2020-01-30 07:22:50 +00:00
|
|
|
|
2020-06-07 20:47:09 +00:00
|
|
|
socket.on("game_resign", (data) => {
|
|
|
|
dispatch({ type: "GAMES", message: "GAME_RESIGN", body: data });
|
|
|
|
});
|
|
|
|
|
2020-06-20 23:25:09 +00:00
|
|
|
socket.on("game_end", (data) => {
|
|
|
|
dispatch({ type: "GAMES", message: "GAME_END", body: data });
|
|
|
|
});
|
|
|
|
|
2020-01-26 00:50:18 +00:00
|
|
|
return socket;
|
2020-06-07 00:08:40 +00:00
|
|
|
};
|
2020-01-26 00:50:18 +00:00
|
|
|
|
2020-06-07 00:08:40 +00:00
|
|
|
export { launch };
|