feat(chat): add support for chat part messages. Closes #3201 (#3291)

This commit is contained in:
Gabe Kangas
2023-09-10 10:58:11 -07:00
committed by GitHub
parent fb0ac492b2
commit 169c11596c
15 changed files with 205 additions and 21 deletions

View File

@ -14,6 +14,7 @@ import { ChatTextField } from '../ChatTextField/ChatTextField';
import { ChatModeratorNotification } from '../ChatModeratorNotification/ChatModeratorNotification';
import { ChatSystemMessage } from '../ChatSystemMessage/ChatSystemMessage';
import { ChatJoinMessage } from '../ChatJoinMessage/ChatJoinMessage';
import { ChatPartMessage } from '../ChatPartMessage/ChatPartMessage';
import { ScrollToBotBtn } from './ScrollToBotBtn';
import { ChatActionMessage } from '../ChatActionMessage/ChatActionMessage';
import { ChatSocialMessage } from '../ChatSocialMessage/ChatSocialMessage';
@ -137,6 +138,20 @@ export const ChatContainer: FC<ChatContainerProps> = ({
);
};
const getUserPartMessage = (message: ChatMessage) => {
const {
user: { displayName, displayColor },
} = message;
const isAuthorModerator = checkIsModerator(message);
return (
<ChatPartMessage
displayName={displayName}
userColor={displayColor}
isAuthorModerator={isAuthorModerator}
/>
);
};
const getActionMessage = (message: ChatMessage) => {
const { body } = message;
return <ChatActionMessage body={body} />;
@ -185,6 +200,8 @@ export const ChatContainer: FC<ChatContainerProps> = ({
return getConnectedInfoMessage(message as ConnectedClientInfoEvent);
case MessageType.USER_JOINED:
return getUserJoinedMessage(message as ChatMessage);
case MessageType.USER_PARTED:
return getUserPartMessage(message as ChatMessage);
case MessageType.CHAT_ACTION:
return getActionMessage(message as ChatMessage);
case MessageType.SYSTEM: