diff --git a/front/src/store/store.ts b/front/src/store/store.ts index 1b4575a..d07823f 100644 --- a/front/src/store/store.ts +++ b/front/src/store/store.ts @@ -200,6 +200,13 @@ const store = createStore({ store.dispatch("fetchMessages", { roomId: roomId, obj: msgOnRoomId(state, roomId) }); return msgOnRoomId(state, roomId)?.messages ?? []; }, + message: + (state) => + (roomId: number, messageId: number): Message | undefined => { + const roomMessage = msgOnRoomId(state, roomId); + if (!roomMessage) return; + return roomMessage.messages.find((msg) => msg.id === messageId); + }, accountOfRoom: (state) => (roomId: number): string | undefined => { diff --git a/front/src/views/room/RoomView.vue b/front/src/views/room/RoomView.vue index 51ebcf2..08ec3dd 100644 --- a/front/src/views/room/RoomView.vue +++ b/front/src/views/room/RoomView.vue @@ -39,9 +39,10 @@ const shouldDisplayComposer = () => { ); }; -function openMessageView(id) { - messageIdView.value = id; - message.value = room.value?.messages.find((message) => message.id == id); +function openMessageView(messageId) { + messageIdView.value = messageId; + if (messageId === -1) return; + message.value = store.getters.message(room.value.id, messageId); } provide("room", room);