diff --git a/src/modules/chat/components/ChatWindow.jsx b/src/modules/chat/components/ChatWindow.jsx index dbd26c7..7bf7c0d 100644 --- a/src/modules/chat/components/ChatWindow.jsx +++ b/src/modules/chat/components/ChatWindow.jsx @@ -94,7 +94,7 @@ function DateSeparator({ label }) { function MediaRenderer({ message, isAgent }) { const mediaUrl = message.mediaUrl || useMemo(() => getMediaUrl(message.media), [message.media]); const mimetype = message.mediaMimeType || message.media?.mimetype || ''; - const filename = message.media?.filename || 'arquivo'; + const filename = message.mediaFilename || message.media?.filename || message.text || 'arquivo'; if (!message.hasMedia && !mediaUrl) return null; diff --git a/src/modules/chat/hooks/useChat.js b/src/modules/chat/hooks/useChat.js index c77e41d..28c3dfe 100644 --- a/src/modules/chat/hooks/useChat.js +++ b/src/modules/chat/hooks/useChat.js @@ -99,6 +99,7 @@ function normalizeMessage(message) { const sender = message.sender || (message.fromMe ? 'agent' : 'customer'); const mediaUrl = message.mediaUrl || message.media_path || null; const mediaMimeType = message.mediaMimeType || message.media_mime_type || null; + const mediaFilename = message.mediaFilename || message.media_filename || message.media?.filename || null; return { id, chatId: message.from || message.to || message.chatId, @@ -109,6 +110,7 @@ function normalizeMessage(message) { media: message.media || null, mediaUrl, mediaMimeType, + mediaFilename, mediaLoading: false, mediaError: null, }; @@ -754,11 +756,12 @@ export function useChat() { } const fileToSend = attachedFile || null; + const optimisticText = trimmed || (fileToSend ? (fileToSend.name || '[mídia]') : ''); const newMessage = { id: `temp-${Date.now()}`, chatId: contactId, sender: 'agent', - text: trimmed, + text: optimisticText, timestamp: Math.floor(Date.now() / 1000), hasMedia: Boolean(fileToSend), mediaUrl: fileToSend?.previewUrl || null,