let lastIdReceiver = null;
// o usaAppend foi add para quando a msg precisa ser tratada como prepend mas inserida como append
// o hiddenMenuMsg foi criado para ocultar o menu de reações e ações das msg na modal de pesquisa de mensagem.
function messageReceiver(messageData, childType = "append", returnTemplate = false, container = '.body-message', usaAppend = false, hiddenMenuMsg = false) {
let div = "";
let existsReaction = false;
// if ($(`#message-${messageData.messageId}`).length > 0) return;
if (messageData.internalComment == 1 && SESSION_DATA.id_tipo_colaborador >= USUARIO_CLIENTE) return;
// INICIO DA DIV DA MENSAGEM //
if (!returnTemplate) {
div += `
`;
}
if ((messageData.printPicture && childType === 'prepend' &&
((lastIdReceiver != 0 && messageData.sender.id != 0) &&
(lastIdReceiver == messageData.sender.id)))) {
let lastUserPick = $(`${container} .message-data .user-pick`).eq(0);
let containerPick = $(lastUserPick).parent().parent();
$(containerPick).find('.user-pick').remove();
$(containerPick).find('.div-user-pick').remove();
$(containerPick).find('.user-name-recipient').remove();
}
// FOTO E NOME DO USUÁRIO //
// prepend é para montar as msg antigas
// append é para msg novas recebidas
if ((messageData.printPicture && childType === 'prepend') ||
(!$(`${container} .message-data:last`).hasClass('message-recipient-content') && childType === 'append' && !returnTemplate) ||
($(`#message-${messageData.messageId} .user-pick`).length && childType === 'append') ||
(childType === 'append' && $(`${container} .message-data:last`).length && $(`${container} .message-data:last`).data('user_id') != messageData.sender.id && !returnTemplate)
) {
// Só adiciona a foto de perfil se o chat for de usuários
if (messageData.chatType !== 'user') {
const srcFotoUser = (messageData.chatType == 'service' && messageData.sender.id != -1) ? DEFAULT_PICTURE : (messageData.sender.picture ? messageData.sender.picture : DEFAULT_PICTURE);
div += `
`;
}
div += `
`;
// Só adiciona o nome se o chat for de usuários
if (messageData.chatType !== 'user') {
div += `
${messageData.sender.name}
`;
}
lastIdReceiver = messageData.sender.id;
} else if (messageData.chatType !== 'user') {
div += ``;
}
let idMsg = 0;
if (messageData.dataReply) idMsg = messageData.dataReply.messageId;
// CONTEÚDO DA MENSAGEM
div += `
`;
if (messageData.shareId !== null && messageData.shareId !== undefined) div += `
`;
}
});
}
div += `${identificaLink(messageData.message)}`;
} else {
div += ` Mensagem apagada`;
}
div += ``;
// MENSAGEM EDITADA
if (messageData.data_edicao) {
div += `editado`;
}
div += `${messageData.hour}`;
if (!messageData.user_exclusao > 0) {
if (messageData.favorite && messageData.favorite.includes(SESSION_DATA.id)) {
div += `
`;
}
let objResponse = {
messageId: messageData.messageId,
senderId: messageData.sender.id,
senderName: messageData.sender.name,
receiverId: messageData.receiver.id,
receiverName: messageData.receiver.name,
classIndex: 'message-recipient-message',
departamentId: null,
tipo: 'Receiver'
}
if (!hiddenMenuMsg) {
// AÇÕES DA MENSAGEM
if (messageData.chatType != 'service') {
div += `
`
div += replyTemplate(messageData, objResponse);
div += `
`;
}
// MENU DE REAÇÕES
if (messageData.chatType != 'service') {
div += `
`
div += reactionsTemplate(messageData, objResponse);
div += `