Render chat messages that come over the socket
This commit is contained in:
@@ -63,7 +63,7 @@ export function ClientConfigStore() {
|
||||
const setClientConfig = useSetRecoilState<ClientConfig>(clientConfigStateAtom);
|
||||
const setChatVisibility = useSetRecoilState<ChatVisibilityState>(chatVisibilityAtom);
|
||||
const setChatState = useSetRecoilState<ChatState>(chatStateAtom);
|
||||
const setChatMessages = useSetRecoilState<ChatMessage[]>(chatMessagesAtom);
|
||||
const [chatMessages, setChatMessages] = useRecoilState<ChatMessage[]>(chatMessagesAtom);
|
||||
const setChatDisplayName = useSetRecoilState<string>(chatDisplayNameAtom);
|
||||
const [appState, setAppState] = useRecoilState<AppState>(appStateAtom);
|
||||
const [accessToken, setAccessToken] = useRecoilState<string>(accessTokenAtom);
|
||||
@@ -106,7 +106,7 @@ export function ClientConfigStore() {
|
||||
handleConnectedClientInfoMessage(message as ConnectedClientInfoEvent);
|
||||
break;
|
||||
case SocketMessageType.CHAT:
|
||||
handleChatMessage(message as ChatEvent);
|
||||
handleChatMessage(message as ChatEvent, chatMessages, setChatMessages);
|
||||
break;
|
||||
default:
|
||||
console.error('Unknown socket message type: ', message.type);
|
||||
@@ -116,8 +116,8 @@ export function ClientConfigStore() {
|
||||
const getChatHistory = async () => {
|
||||
try {
|
||||
const messages = await ChatService.getChatHistory(accessToken);
|
||||
// console.log(`ChatService -> getChatHistory() messages: \n${JSON.stringify(messages)}`);
|
||||
setChatMessages(messages);
|
||||
const updatedChatMessages = [...messages, ...chatMessages];
|
||||
setChatMessages(updatedChatMessages);
|
||||
} catch (error) {
|
||||
console.error(`ChatService -> getChatHistory() ERROR: \n${error}`);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
import {
|
||||
ChatEvent,
|
||||
SocketEvent,
|
||||
} from '../../../interfaces/socket-events';
|
||||
import { ChatMessage } from '../../../interfaces/chat-message.model';
|
||||
import { ChatEvent } from '../../../interfaces/socket-events';
|
||||
|
||||
export default function handleChatMessage(message: ChatEvent) {
|
||||
console.log('chat message', message);
|
||||
export default function handleChatMessage(
|
||||
message: ChatEvent,
|
||||
messages: ChatMessage[],
|
||||
setChatMessages,
|
||||
) {
|
||||
const updatedMessages = [...messages, message];
|
||||
setChatMessages(updatedMessages);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user