From 24b5ba658ca207cb60536e2c6bcdeec1e94549ef Mon Sep 17 00:00:00 2001 From: Bill Date: Wed, 30 Jun 2021 23:00:39 -0400 Subject: [PATCH] More chat updates --- .../room/widgets/chat/ChatWidgetView.tsx | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/views/room/widgets/chat/ChatWidgetView.tsx b/src/views/room/widgets/chat/ChatWidgetView.tsx index 77a39660..4cf80c42 100644 --- a/src/views/room/widgets/chat/ChatWidgetView.tsx +++ b/src/views/room/widgets/chat/ChatWidgetView.tsx @@ -15,22 +15,13 @@ export const ChatWidgetView: FC = props => const { roomSession = null } = useRoomContext(); const elementRef = useRef(); - const removeFirstHiddenChat = useCallback(() => + const removeHiddenChats = useCallback(() => { if(!chatMessages.length) return; - const lastChat = chatMessages[0]; - - if((lastChat.top > (-(lastChat.height) * 2))) return; + const newMessages = chatMessages.filter(chat => ((chat.top > (-(chat.height) * 2)))); - setChatMessages(prevValue => - { - const newMessages = [ ...prevValue ]; - - newMessages.shift(); - - return newMessages; - }); + if(newMessages.length !== chatMessages.length) setChatMessages(newMessages); }, [ chatMessages ]); const moveChatUp = useCallback((chat: ChatBubbleMessage, amount: number) => @@ -42,8 +33,8 @@ export const ChatWidgetView: FC = props => { chatMessages.forEach(chat => moveChatUp(chat, amount)); - removeFirstHiddenChat(); - }, [ chatMessages, moveChatUp, removeFirstHiddenChat ]); + removeHiddenChats(); + }, [ chatMessages, moveChatUp, removeHiddenChats ]); const makeRoom = useCallback((chat: ChatBubbleMessage) => { @@ -142,7 +133,7 @@ export const ChatWidgetView: FC = props => { if(!chat.elementRef) return; - chat.left = (chat.elementRef.offsetLeft + event.offsetX); + chat.left += event.offsetX; }); }, [ roomSession, chatMessages ]);