33 lines
993 B
TypeScript
33 lines
993 B
TypeScript
import { put } from "redux-saga/effects";
|
|
import { PAGE_LEVEL_SOCKET_EVENTS } from "./socketEvents";
|
|
import {
|
|
collabSetEditorsPointersData,
|
|
collabUnsetEditorsPointersData,
|
|
collabConcurrentPageEditorsData,
|
|
} from "actions/appCollabActions";
|
|
import * as Sentry from "@sentry/react";
|
|
|
|
export default function* handlePageLevelSocketEvents(event: any, socket: any) {
|
|
try {
|
|
switch (event.type) {
|
|
case PAGE_LEVEL_SOCKET_EVENTS.SHARE_USER_POINTER: {
|
|
if (socket.id !== event.payload[0].socketId) {
|
|
yield put(collabSetEditorsPointersData(event.payload[0]));
|
|
}
|
|
return;
|
|
}
|
|
case PAGE_LEVEL_SOCKET_EVENTS.STOP_EDITING_APP: {
|
|
yield put(collabUnsetEditorsPointersData(event.payload[0]));
|
|
return;
|
|
}
|
|
|
|
case PAGE_LEVEL_SOCKET_EVENTS.LIST_ONLINE_PAGE_EDITORS: {
|
|
yield put(collabConcurrentPageEditorsData(event.payload[0]?.users));
|
|
return;
|
|
}
|
|
}
|
|
} catch (e) {
|
|
Sentry.captureException(e);
|
|
}
|
|
}
|