import { io } from 'socket.io-client';
import { reactive } from 'vue';
import { getDynamicEnv } from './helpers/getEnv';

const dynamicEnv = await getDynamicEnv();
let URL: string;
if (process.env.DEFAULT_SYSTEM) {
  URL = process.env.API_URL ?? '';
} else {
  URL = !!Number(process.env.USE_REMOTE_API) || process.env.PROD ? dynamicEnv.API_URL : process.env.API_URL;
}
export const socket = io(URL);

export const state = reactive({
  connected: false,
});

socket.on('connect', () => {
  state.connected = true;
  console.log('client connected with socket.io to ' + URL);
});

socket.on('disconnect', () => {
  state.connected = false;
  console.log('client disconnected from' + URL);
});
