diff --git a/client/ui/chat/ChatFragment.tsx b/client/ui/chat/ChatFragment.tsx index 9d36e1d..dfa281f 100644 --- a/client/ui/chat/ChatFragment.tsx +++ b/client/ui/chat/ChatFragment.tsx @@ -1,4 +1,5 @@ import { Tab, TextField } from "mdui" +import { $ } from "mdui/jq" import useEventListener from "../useEventListener.ts" import Element_Message from "./Message.tsx" import MessageContainer from "./MessageContainer.tsx" @@ -86,7 +87,10 @@ export default function ChatFragment({ target, showReturnButton, onReturnButtonC setTimeout(() => setShowNoMoreMessagesTip(false), 1000) return } + + const oldest = messagesList[0] setMessagesList(returnMsgs.concat(messagesList)) + setTimeout(() => chatPanelRef.current!.scrollTo({ top: $(`#chat_${target}_message_${oldest.id}`).get(0).offsetTop, behavior: 'smooth' }), 100) page.current++ } @@ -245,6 +249,7 @@ export default function ChatFragment({ target, showReturnButton, onReturnButtonC messagesList.map((msg) =>