From 4db70e870422a53f58e76452edb42fb850dc427b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sun, 1 Oct 2023 14:01:05 +0200 Subject: [PATCH] room add check if room already exists. --- client/src/store/index.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/client/src/store/index.ts b/client/src/store/index.ts index 8537505..2019baf 100644 --- a/client/src/store/index.ts +++ b/client/src/store/index.ts @@ -35,7 +35,20 @@ export default new Vuex.Store({ Vue.set(state, 'rooms', roomEntries) }, ROOMS_ADD(state: State, roomEntry: RoomEntry) { - Vue.set(state, 'rooms', [roomEntry, ...state.rooms]) + // check if room already exists + if (state.rooms.some(({ id }) => id == roomEntry.id)) { + // replace room + Vue.set(state, 'rooms', state.rooms.map((room) => { + if (room.id == roomEntry.id) { + return roomEntry + } else { + return room + } + })) + } else { + // add room + Vue.set(state, 'rooms', [roomEntry, ...state.rooms]) + } }, ROOMS_PUT(state: State, roomEntry: RoomEntry) { let exists = false