diff --git a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts index 2195001..5ef4b3d 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts @@ -8,7 +8,8 @@ import { ApiDirectiveModule, ParticipantLeftEvent, ParticipantModel, - OpenViduComponentsUiModule + OpenViduComponentsUiModule, + ParticipantLeftReason } from 'openvidu-components-angular'; import { @@ -129,15 +130,28 @@ export class VideoRoomComponent implements OnInit, OnDestroy { console.warn('Participant left the room. Redirecting to:'); const redirectURL = this.ctxService.getLeaveRedirectURL() || '/disconnected'; const isExternalURL = /^https?:\/\//.test(redirectURL); + const isRoomDeleted = event.reason === ParticipantLeftReason.ROOM_DELETED; + + let message: OutboundEventMessage; + + if (isRoomDeleted) { + message = { + event: WebComponentEvent.MEETING_ENDED, + payload: { + roomId: event.roomName + } + } as OutboundEventMessage; + } else { + message = { + event: WebComponentEvent.LEFT, + payload: { + roomId: event.roomName, + participantName: event.participantName, + reason: event.reason + } + } as OutboundEventMessage; + } - const message: OutboundEventMessage = { - event: WebComponentEvent.LEFT, - payload: { - roomId: event.roomName, - participantName: event.participantName, - reason: event.reason - } - }; this.wcManagerService.sendMessageToParent(message); this.sessionStorageService.removeModeratorSecret(event.roomName);