diff --git a/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts b/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts index 4f2bd9e9..7fe5b51b 100644 --- a/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts +++ b/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts @@ -28,6 +28,8 @@ import { import * as RoomStore from '@app/store/messenger/room'; import { RoomInfo } from '@ucap-webmessenger/protocol-room'; +import { EventType } from '@ucap-webmessenger/protocol-event'; +import { FileType } from '@ucap-webmessenger/protocol-file'; export const reducer = createReducer( initialState, @@ -99,10 +101,29 @@ export const reducer = createReducer( }), on(updateRoomForNewEventMessage, (state, action) => { + let finalEventMessage: string = action.info.sentMessage; + switch (action.info.type) { + case EventType.Sticker: + finalEventMessage = '스티커'; + break; + case EventType.File: + { + const contentJson = JSON.parse(finalEventMessage); + if (contentJson.FileType === FileType.Image) { + finalEventMessage = '이미지'; + } else { + finalEventMessage = '첨부파일'; + } + } + break; + case EventType.VideoConference: + finalEventMessage = '화상회의'; + break; + } const roomInfo = { ...state.room.entities[action.roomSeq], finalEventDate: action.info.sendDate, - finalEventMessage: action.info.sentMessage + finalEventMessage }; return {