diff --git a/src/components/Chat.tsx b/src/components/Chat.tsx index 9e09fed..5265845 100644 --- a/src/components/Chat.tsx +++ b/src/components/Chat.tsx @@ -31,13 +31,22 @@ const Chat = () => { useEffect(() => { const scroll = () => { - messageEnd.current?.scrollIntoView({ behavior: 'smooth' }); + messageEnd.current?.scrollIntoView({ behavior: 'auto' }); }; if (chatTurns.length === 1) { document.title = `${chatTurns[0].content.substring(0, 30)} - Perplexica`; } + const messageEndBottom = + messageEnd.current?.getBoundingClientRect().bottom ?? 0; + + const distanceFromMessageEnd = window.innerHeight - messageEndBottom; + + if (distanceFromMessageEnd >= -100) { + scroll(); + } + if (chatTurns[chatTurns.length - 1]?.role === 'user') { scroll(); }