Files

46 lines
840 B
TypeScript
Raw Permalink Normal View History

import { io, Socket } from 'socket.io-client'
const SOCKET_URL = process.env.NEXT_PUBLIC_SOCKET_URL || 'http://localhost:3001'
let socket: Socket | null = null
export const connectSocket = (token: string) => {
if (!socket) {
socket = io(SOCKET_URL, {
auth: {
token,
},
})
socket.on('connect', () => {
console.log('Socket connected')
})
socket.on('disconnect', () => {
console.log('Socket disconnected')
})
socket.on('connect_error', (error) => {
console.error('Socket connection error:', error)
})
}
return socket
}
export const disconnectSocket = () => {
if (socket) {
socket.disconnect()
socket = null
}
}
export const getSocket = () => socket
export default {
connect: connectSocket,
disconnect: disconnectSocket,
get: getSocket,
}