From 21ee6f1d66e0d005015072e12a03cb14e62f8941 Mon Sep 17 00:00:00 2001 From: Divlo Date: Wed, 29 Jun 2022 06:23:23 +0200 Subject: [PATCH] fix: autoscroll the user when posting a message even if is not at bottom --- contexts/Messages.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/contexts/Messages.tsx b/contexts/Messages.tsx index 22f8494..4b35a3f 100644 --- a/contexts/Messages.tsx +++ b/contexts/Messages.tsx @@ -23,7 +23,7 @@ export const MessagesProvider: React.FC< React.PropsWithChildren > = (props) => { const { path, children } = props - const { authentication } = useAuthentication() + const { authentication, user } = useAuthentication() const { items: messages, @@ -49,7 +49,10 @@ export const MessagesProvider: React.FC< messagesDiv.scrollHeight - messagesDiv.scrollTop <= messagesDiv.clientHeight handleSocketData({ data, setItems }) - if (data.action === 'create' && isAtBottom) { + if ( + data.action === 'create' && + (isAtBottom || data.item.member.userId === user.id) + ) { messagesDiv.scrollTo(0, messagesDiv.scrollHeight) } } @@ -59,7 +62,7 @@ export const MessagesProvider: React.FC< return () => { authentication.socket.off('messages') } - }, [authentication.socket, setItems, path]) + }, [authentication.socket, setItems, path, user.id]) useEffect(() => { resetPagination()