import { Client } from "@stomp/stompjs";

//Backend URL for the WebSocket connection, empty string means same origin
const BACKEND_URL = process.env.NEXT_PUBLIC_BACKEND_URL || "";

//Creates a STOMP client that connects to the chat WebSocket with the user's token
export function createStompClient(token) {
  return new Client({
    webSocketFactory: () => {
      const SockJS = require("sockjs-client");
      return new SockJS(`${BACKEND_URL}/ws/chat-sockjs`);
    },
    connectHeaders: { Authorization: `Bearer ${token}` },
    reconnectDelay: 5000,
    heartbeatIncoming: 10000,
    heartbeatOutgoing: 10000,
  });
}
