|
|
|
@ -5,6 +5,7 @@ import { MessageBox } from 'react-chat-elements';
|
|
|
|
|
import { groupBy, isEmpty } from '@/utils/commons';
|
|
|
|
|
import useConversationStore from '@/stores/ConversationStore';
|
|
|
|
|
import { useShallow } from 'zustand/react/shallow';
|
|
|
|
|
import { WABIcon } from '@/components/Icons';
|
|
|
|
|
|
|
|
|
|
const BubbleIM = ({ handlePreview, handleContactClick, setNewChatModalVisible, setNewChatFormValues, scrollToMessage, focusMsg, ...message }) => {
|
|
|
|
|
const { message: appMessage } = App.useApp();
|
|
|
|
@ -103,21 +104,25 @@ const BubbleIM = ({ handlePreview, handleContactClick, setNewChatModalVisible, s
|
|
|
|
|
onReplyMessageClick={() => scrollToMessage(message.reply.id)}
|
|
|
|
|
onOpen={() => handlePreview(message)}
|
|
|
|
|
onTitleClick={() => handlePreview(message)}
|
|
|
|
|
// title={<div className='flex justify-around items-center gap-1'><WABIcon />{message.title}</div>}
|
|
|
|
|
text={<RenderText str={message?.text || ''} className={message.status === 'failed' ? 'line-through text-neutral-400' : ''} template={message.template} />}
|
|
|
|
|
replyButton={['text', 'document', 'image'].includes(message.whatsapp_msg_type)}
|
|
|
|
|
{...(message.sender === 'me'
|
|
|
|
|
? {
|
|
|
|
|
styles: { backgroundColor: '#ccd4ae' },
|
|
|
|
|
notchStyle: { fill: '#ccd4ae' },
|
|
|
|
|
// styles: { backgroundColor: '#ccd4ae' },
|
|
|
|
|
notchStyle: { fill: '#ccd4ae' }, // todo: channel color '#d9fdd3'
|
|
|
|
|
replyButton: ['text', 'document', 'image'].includes(message.whatsapp_msg_type) && message.status !== 'failed' ? true : false,
|
|
|
|
|
}
|
|
|
|
|
: {})}
|
|
|
|
|
// notch={false}
|
|
|
|
|
className={[
|
|
|
|
|
'whitespace-pre-wrap',
|
|
|
|
|
message.whatsapp_msg_type === 'sticker' ? 'bg-transparent' : '',
|
|
|
|
|
message.sender === 'me' ? 'whatsappme-container' : '',
|
|
|
|
|
// message.sender === 'me' ? 'whatsappme-container' : '',
|
|
|
|
|
focusMsg === message.id ? 'message-box-focus' : '',
|
|
|
|
|
message.status === 'failed' ? 'failed-msg' : '',
|
|
|
|
|
// '*:bg-waba-me'
|
|
|
|
|
message.sender === 'me' ? '*:bg-waba-me' : '', // todo: channel color
|
|
|
|
|
].join(' ')}
|
|
|
|
|
{...(message.type === 'meetingLink'
|
|
|
|
|
? {
|
|
|
|
|