Browse Source

Add action message type to chat. Closes #2226

pull/2229/head
Gabe Kangas 3 years ago
parent
commit
91c7bed0e8
No known key found for this signature in database
GPG Key ID: 9A56337728BC81EA
  1. 7
      web/components/chat/ChatContainer/ChatContainer.tsx
  2. 3
      web/components/stores/ClientConfigStore.tsx

7
web/components/chat/ChatContainer/ChatContainer.tsx

@ -15,6 +15,7 @@ import { ChatModeratorNotification } from '../ChatModeratorNotification/ChatMode @@ -15,6 +15,7 @@ import { ChatModeratorNotification } from '../ChatModeratorNotification/ChatMode
import { ChatSystemMessage } from '../ChatSystemMessage/ChatSystemMessage';
import { ChatJoinMessage } from '../ChatJoinMessage/ChatJoinMessage';
import { ScrollToBotBtn } from './ScrollToBotBtn';
import { ChatActionMessage } from '../ChatActionMessage/ChatActionMessage';
export type ChatContainerProps = {
messages: ChatMessage[];
@ -111,6 +112,10 @@ export const ChatContainer: FC<ChatContainerProps> = ({ @@ -111,6 +112,10 @@ export const ChatContainer: FC<ChatContainerProps> = ({
);
};
const getActionMessage = (message: ChatMessage) => {
const { body } = message;
return <ChatActionMessage body={body} />;
};
const getConnectedInfoMessage = (message: ConnectedClientInfoEvent) => {
const modStatusUpdate = checkIsModerator(message);
if (!modStatusUpdate) {
@ -148,6 +153,8 @@ export const ChatContainer: FC<ChatContainerProps> = ({ @@ -148,6 +153,8 @@ export const ChatContainer: FC<ChatContainerProps> = ({
return getConnectedInfoMessage(message);
case MessageType.USER_JOINED:
return getUserJoinedMessage(message as ChatMessage);
case MessageType.CHAT_ACTION:
return getActionMessage(message as ChatMessage);
case MessageType.SYSTEM:
return (
<ChatSystemMessage

3
web/components/stores/ClientConfigStore.tsx

@ -302,6 +302,9 @@ export const ClientConfigStore: FC = () => { @@ -302,6 +302,9 @@ export const ClientConfigStore: FC = () => {
case MessageType.SYSTEM:
setChatMessages(currentState => [...currentState, message as ChatEvent]);
break;
case MessageType.CHAT_ACTION:
setChatMessages(currentState => [...currentState, message as ChatEvent]);
break;
case MessageType.VISIBILITY_UPDATE:
handleMessageVisibilityChange(message as MessageVisibilityEvent);
break;

Loading…
Cancel
Save