fix: corrige chat reabrindo sozinho e melhora mensagens

- Remove window.show() que forçava chat reabrir a cada polling
- Chat só abre minimizado quando há NOVAS mensagens (janela não existia)
- Se usuário fechou o chat, não reabre automaticamente
- Corrige acentuação: "Voce" → "Você", "nao" → "não"
- Simplifica toast para "Chat ao vivo iniciado"
- Melhora mensagem de erro quando máquina está offline
- Loga erro técnico no console ao invés de exibir para usuário

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Seu Nome 2025-12-08 12:22:44 -03:00
parent e66b3cce92
commit 0afdba1635
6 changed files with 33 additions and 16 deletions

View file

@ -138,7 +138,17 @@ export function TicketChatPanel({ ticketId }: TicketChatPanelProps) {
toast.info("Já existe uma sessão de chat ativa", { id: "live-chat" })
}
} catch (error: unknown) {
const message = error instanceof Error ? error.message : "Não foi possível iniciar o chat"
console.error("[LiveChat] Erro ao iniciar chat:", error)
// Extrair mensagem amigável do erro do Convex
let message = "Não foi possível iniciar o chat"
if (error instanceof Error) {
const errorMsg = error.message.toLowerCase()
if (errorMsg.includes("offline")) {
message = "Máquina offline. Aguarde a máquina ficar online para iniciar o chat."
} else if (errorMsg.includes("não encontrad") || errorMsg.includes("not found")) {
message = "Máquina não encontrada"
}
}
toast.error(message, { id: "live-chat" })
} finally {
setIsStartingChat(false)

View file

@ -351,12 +351,22 @@ export function TicketSummaryHeader({ ticket }: TicketHeaderProps) {
actorId: convexUserId as Id<"users">,
})
if (result.isNew) {
toast.success("Chat ao vivo iniciado! O cliente será notificado.", { id: "live-chat" })
toast.success("Chat ao vivo iniciado", { id: "live-chat" })
} else {
toast.info("Já existe uma sessão de chat ativa.", { id: "live-chat" })
toast.info("Já existe uma sessão de chat ativa", { id: "live-chat" })
}
} catch (error: unknown) {
const message = error instanceof Error ? error.message : "Não foi possível iniciar o chat"
console.error("[LiveChat] Erro ao iniciar chat:", error)
// Extrair mensagem amigável do erro do Convex
let message = "Não foi possível iniciar o chat"
if (error instanceof Error) {
const errorMsg = error.message.toLowerCase()
if (errorMsg.includes("offline")) {
message = "Máquina offline. Aguarde a máquina ficar online para iniciar o chat."
} else if (errorMsg.includes("não encontrad") || errorMsg.includes("not found")) {
message = "Máquina não encontrada"
}
}
toast.error(message, { id: "live-chat" })
} finally {
setIsStartingChat(false)