diff --git a/static/js/components/chat.js b/static/js/components/chat.js index e5d1185..2122064 100644 --- a/static/js/components/chat.js +++ b/static/js/components/chat.js @@ -6,14 +6,15 @@ const runChat = async () => { r.text(), ); - const { scrollTop, scrollTopMax } = document.getElementById( + const { scrollTop, scrollHeight, clientTop } = document.getElementById( "chat-container", - ) ?? { scrollTop: 0 }; + ) ?? { scrollTop: 0, scrollHeight: 0, clientTop: 0}; + const scrollTopMax = document.getElementById("chat-container").scrollHeight - document.getElementById("chat-container").clientTop; const isAtEdge = scrollTop > (0.92 * scrollTopMax) || scrollTop === 0; document.getElementById("messages").innerHTML = html; + const emplacedScrollTopMax = document.getElementById("chat-container").scrollHeight - document.getElementById("chat-container").clientTop; if (isAtEdge) { - document.getElementById("chat-container").scrollTop = - document.getElementById("chat-container").scrollTopMax; + document.getElementById("chat-container").scrollTop = scrollTopMax; } else { // save the position. document.getElementById("chat-container").scrollTop = scrollTop;