Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import io from "socket.io-client";
  2. export const socket = io("https://trampa-api-test.dilig.net/", {
  3. // export const socket = io("http://localhost:3001/", {
  4. // export const socket = io(process.env.REACT_APP_BASE_API_URL, {
  5. transports: ["websocket"],
  6. reconnectionAttempts: 5,
  7. });
  8. export const socketInit = (userId) => {
  9. if (socket.connected) socket.disconnect();
  10. socket.auth = {
  11. userId,
  12. };
  13. socket.connect();
  14. };
  15. export const sendMessage = (chatId, userId, text, receiverUserId) => {
  16. socket.emit("private_message", {
  17. chatId,
  18. receiverUserId,
  19. message: {
  20. userId,
  21. text,
  22. },
  23. });
  24. };
  25. export const acceptExchangeSocket = (chatId, userId, receiverUserId, callbackFn) => {
  26. socket.emit("private_message", {
  27. chatId,
  28. receiverUserId,
  29. message: {
  30. userId,
  31. isAcceptRequest: true,
  32. text: ""
  33. },
  34. });
  35. callbackFn();
  36. };
  37. export const addMessageListener = (listener) => {
  38. socket.on("private_message", (data) =>
  39. listener({
  40. succeed: true,
  41. data,
  42. })
  43. );
  44. socket.on("sending_message_failed", (data) =>
  45. listener({
  46. succeed: false,
  47. data,
  48. })
  49. );
  50. };
  51. export const removeMessageListener = () => {
  52. socket.off("private_message");
  53. socket.off("sending_message_failed");
  54. };