FEAT: Rolagem automática do chat na home page

This commit is contained in:
Rafael Alves Lopes 2026-05-22 14:41:28 -03:00
parent 3343a12548
commit fe40e8bd76

View File

@ -1,4 +1,4 @@
import { Fragment, useEffect, useMemo, useState } from 'react'; import { Fragment, useEffect, useMemo, useRef, useState } from 'react';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import { createAgentNote, deleteAgentNote, listAgentNotes } from '../services/agentNotesService'; import { createAgentNote, deleteAgentNote, listAgentNotes } from '../services/agentNotesService';
import { getCurrentUser } from '../../auth/services/sessionService'; import { getCurrentUser } from '../../auth/services/sessionService';
@ -202,6 +202,7 @@ export function MessagesWorkspace({
isMobile = false, isMobile = false,
}) { }) {
const navigate = useNavigate(); const navigate = useNavigate();
const messagesRef = useRef(null);
const currentUser = getCurrentUser(); const currentUser = getCurrentUser();
const currentUserId = getUserId(currentUser); const currentUserId = getUserId(currentUser);
const recentConversations = conversations.slice(0, 3); const recentConversations = conversations.slice(0, 3);
@ -242,6 +243,16 @@ export function MessagesWorkspace({
setSelectedReplyIndex(0); setSelectedReplyIndex(0);
}, [safeActiveConversation.id]); }, [safeActiveConversation.id]);
useEffect(() => {
const container = messagesRef.current;
if (!container) return;
container.scrollTo({
top: container.scrollHeight,
behavior: 'auto',
});
}, [safeActiveConversation.id, safeActiveConversation.messages]);
useEffect(() => { useEffect(() => {
let isMounted = true; let isMounted = true;
@ -460,6 +471,7 @@ export function MessagesWorkspace({
</header> </header>
<div <div
ref={messagesRef}
style={{ style={{
padding: '1.25rem', padding: '1.25rem',
display: 'grid', display: 'grid',