thelounge/client/js/socket.ts
Reto Brunner 3eb19135f5 wip: msg
2024-04-21 15:10:41 +02:00

23 lines
641 B
TypeScript

import io, {Socket} from "socket.io-client";
import type {ServerToClientEvents, ClientToServerEvents} from "../../shared/types/socket-events";
const socket: Socket<ServerToClientEvents, ClientToServerEvents> = io({
transports: JSON.parse(document.body.dataset.transports || "['polling', 'websocket']"),
path: window.location.pathname + "socket.io/",
autoConnect: false,
reconnection: !document.body.classList.contains("public"),
});
// Ease debugging socket during development
if (process.env.NODE_ENV === "development") {
window.socket = socket;
}
declare global {
interface Window {
socket: Socket;
}
}
export default socket;