Ajusta auto-minimização do chat web e unifica realtime no desktop

This commit is contained in:
rever-tecnologia 2025-12-11 17:46:33 -03:00
parent c65e37e232
commit 3d45fe3b04
10 changed files with 279 additions and 635 deletions

View file

@ -382,17 +382,24 @@ export function ChatWidget() {
// Se aumentou o número de sessões APOS a montagem inicial, é uma nova sessão - abrir o widget expandido
if (currentCount > prevCount && hasRestoredStateRef.current) {
setIsOpen(true)
setIsMinimized(false)
// O estado do widget e definido com base nas nao lidas.
// Selecionar a sessão mais recente (última da lista ou primeira se única)
const newestSession = activeSessions[activeSessions.length - 1] ?? activeSessions[0]
const hasUnreadForAgent = (newestSession?.unreadCount ?? 0) > 0
if (!isOpen) {
setIsOpen(true)
setIsMinimized(!hasUnreadForAgent)
} else if (isMinimized && hasUnreadForAgent) {
setIsMinimized(false)
}
if (newestSession) {
setActiveTicketId(newestSession.ticketId)
}
}
prevSessionCountRef.current = currentCount
}, [activeSessions])
}, [activeSessions, isOpen, isMinimized])
// Scroll para última mensagem
useEffect(() => {