Files
source-gamepanel/apps/web/src/lib/socket.ts
T
2026-02-21 16:59:21 +03:00

31 lines
583 B
TypeScript

import { io, Socket } from 'socket.io-client';
let socket: Socket | null = null;
export function getSocket(): Socket {
if (!socket) {
socket = io('/', {
path: '/socket.io',
auth: {
token: localStorage.getItem('access_token'),
},
autoConnect: false,
});
}
return socket;
}
export function connectSocket() {
const s = getSocket();
if (!s.connected) {
s.auth = { token: localStorage.getItem('access_token') };
s.connect();
}
}
export function disconnectSocket() {
if (socket?.connected) {
socket.disconnect();
}
}