diff --git a/client/src/components/Chat/Messages/MessagesView.tsx b/client/src/components/Chat/Messages/MessagesView.tsx index bea6554ff1..c6d0a7e84f 100644 --- a/client/src/components/Chat/Messages/MessagesView.tsx +++ b/client/src/components/Chat/Messages/MessagesView.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useState, useRef } from 'react'; import { useAtomValue } from 'jotai'; import { useRecoilValue } from 'recoil'; import { CSSTransition } from 'react-transition-group'; @@ -21,6 +21,7 @@ function MessagesViewContent({ const { screenshotTargetRef } = useScreenshot(); const scrollButtonPreference = useRecoilValue(store.showScrollButton); const [currentEditId, setCurrentEditId] = useState(-1); + const scrollToBottomRef = useRef(null); const { conversation, @@ -87,8 +88,9 @@ function MessagesViewContent({ classNames="scroll-animation" unmountOnExit={true} appear={true} + nodeRef={scrollToBottomRef} > - + diff --git a/client/src/components/Messages/ScrollToBottom.tsx b/client/src/components/Messages/ScrollToBottom.tsx index bb67cfe3df..0b99df0a61 100644 --- a/client/src/components/Messages/ScrollToBottom.tsx +++ b/client/src/components/Messages/ScrollToBottom.tsx @@ -1,12 +1,13 @@ -import React from 'react'; +import { forwardRef } from 'react'; type Props = { scrollHandler: React.MouseEventHandler; }; -export default function ScrollToBottom({ scrollHandler }: Props) { +const ScrollToBottom = forwardRef(({ scrollHandler }, ref) => { return ( ); -} +}); + +ScrollToBottom.displayName = 'ScrollToBottom'; + +export default ScrollToBottom;