From 86fe0af694d243dce9b8d9a73dc62317f618fde8 Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Thu, 19 Aug 2021 11:26:50 +0200 Subject: [PATCH] Update room state on receiving RoomJoinResponse. --- src/modules/room/message.ts | 9 +++------ src/modules/room/slice.ts | 6 ++++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/modules/room/message.ts b/src/modules/room/message.ts index 8cf96a9..b6b9423 100644 --- a/src/modules/room/message.ts +++ b/src/modules/room/message.ts @@ -8,6 +8,7 @@ import { roomSendMessage, roomSetMembership, roomSetAll, + roomSetState, } from "modules/room/slice"; import { SocketMessage, SocketMessageMiddleware } from "modules/socket/message"; @@ -76,12 +77,8 @@ function handleRoomMessageResponse(dispatch: AppDispatch, response): void { } function handleRoomJoinResponse(dispatch: AppDispatch, response): void { - dispatch( - roomSetMembership([ - response.room_name, - RoomMembership.Joined, - ]) - ); + const room = convertRoomListEntry(response.room_name, response.room); + dispatch(roomSetState(room)); } function handleRoomLeaveResponse(dispatch: AppDispatch, response): void { diff --git a/src/modules/room/slice.ts b/src/modules/room/slice.ts index ad4b29d..b806829 100644 --- a/src/modules/room/slice.ts +++ b/src/modules/room/slice.ts @@ -63,6 +63,11 @@ export const roomSlice = createSlice({ room.membership = membership; }, + roomSetState: (state: RoomSliceState, + action: PayloadAction) => { + const room = action.payload; + state.rooms[room.name] = room; + }, roomReceiveMessage: ( state: RoomSliceState, action: PayloadAction @@ -106,6 +111,7 @@ export const roomSlice = createSlice({ export const { roomSetMembership, + roomSetState, roomReceiveMessage, roomSendMessage, roomGetAll,