Only scroll the chatbox not the entire window when new messages arrive
This commit is contained in:
parent
a0148fe8b9
commit
77a3bf89a7
@ -26,9 +26,12 @@ const LobbyChat: React.FC<LobbyChatProps> = ({ socketUrl, session, lobbyId }) =>
|
||||
const [newMessage, setNewMessage] = useState<string>("");
|
||||
const [isClearing, setIsClearing] = useState<boolean>(false);
|
||||
const messagesEndRef = useRef<HTMLDivElement>(null);
|
||||
const chatMessagesRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
const scrollToBottom = () => {
|
||||
messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
|
||||
if (chatMessagesRef.current) {
|
||||
chatMessagesRef.current.scrollTop = chatMessagesRef.current.scrollHeight;
|
||||
}
|
||||
};
|
||||
|
||||
const { sendJsonMessage } = useWebSocket(socketUrl, {
|
||||
@ -167,7 +170,7 @@ const LobbyChat: React.FC<LobbyChatProps> = ({ socketUrl, session, lobbyId }) =>
|
||||
)}
|
||||
</Box>
|
||||
|
||||
<Box className="chat-messages" sx={{ flexGrow: 1, overflowY: "auto", mb: 1 }}>
|
||||
<Box className="chat-messages" sx={{ flexGrow: 1, overflowY: "auto", mb: 1 }} ref={chatMessagesRef}>
|
||||
<List dense>
|
||||
{messages.length === 0 ? (
|
||||
<ListItem>
|
||||
|
Loading…
x
Reference in New Issue
Block a user