import { io, Socket } from 'socket.io-client'; const SOCKET_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:4000'; let socket: Socket | null = null; export function getSocket(token: string): Socket { if (socket?.connected) return socket; socket = io(SOCKET_URL, { auth: { token }, transports: ['websocket', 'polling'], reconnection: true, reconnectionAttempts: 10, reconnectionDelay: 1000, timeout: 20000, autoConnect: false, }); return socket; } export function disconnectSocket(): void { if (socket) { socket.disconnect(); socket = null; } } export function getCurrentSocket(): Socket | null { return socket; }