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, }