let lastIdReceiver = null;
function messageReceiver(messageData, childType = "append", returnTemplate = false) {
let div = "";
let existsReaction = false;
// 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 = $('.body-message .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 //
if ((messageData.printPicture && childType === 'prepend') || (!$('.body-message .message-data:last').hasClass('message-recipient-content') && childType === 'append' && !returnTemplate) || (document.querySelector(`#message-${messageData.messageId} .user-pick`) && childType === 'append')) {
div += `
`
div += ` `;
div += `
`;
div += `
`;
div += `
`;
div += ` ${messageData.sender.name}`;
div += `
`;
lastIdReceiver = messageData.sender.id;
} else div += ` `;
let idMsg = 0;
if (messageData.dataReply) idMsg = messageData.dataReply.messageId;
// CONTEÚDO DA MENSAGEM
div += `
`;
if (idMsg > 0 && !messageData.user_exclusao > 0) {
let funcOpenMessage = '';
const senderReplyId = messageData.dataReply.id_remetente;
const senderReplyName = messageData.dataReply.name_remetente;
const ReceiverReplyId = messageData.dataReply.id_destinatario;
const depReplyId = messageData.dataReply.id_departamento;
if (messageData.dataReply.id_departamento > 0) {
funcOpenMessage = `openMessage(${idMsg}, ${senderReplyId}, null, ${depReplyId})`;
} else {
funcOpenMessage = `openMessage(${idMsg}, ${senderReplyId}, ${ReceiverReplyId}, null)`;
}
let color = '';
if(messageData.dataReply.id_remetente == messageData.sender.id) color = '#1DC370'; else color = '#409fd5';
div += `
`;
div += `
`;
div += `
${senderReplyName}
`;
const existsFilesReply = messageData.dataReply.caminho_arquivo.replace("{", "").replace("}", "").split(",");
const namesFilesReply = ((messageData.dataReply.nome_arquivo) ? messageData.dataReply.nome_arquivo.split(",") : '');
if (existsFilesReply[0] != "") {
existsFilesReply.forEach((file, key) => {
const fileUrlReply = (`${FILE_URL}/${file}`).replaceAll(" ", "");
const fileExtensionReply = getFileExtension(fileUrlReply);
const fileNameReply = fileUrlReply.split('ArqEscritorio/');
fileNameReply.push(messageData.dataReply.nome_arquivo);
// image
if (['png', 'jpg', 'gif', 'jpeg'].includes(fileExtensionReply))
div += ``;
else if (['mp3'].includes(fileExtensionReply))
div += ``;
else if (['mp4'].includes(fileExtensionReply))
div += ` `;
// doc
else {
div += "
";
}
})
}
// VERIFICA SE HÁ MENSAGEM
div += ` ${identificaLink(messageData.message)}`;
} else {
div += ` Mensagem apagada`
}
// HORA DA MENSAGEM
div += ` ${messageData.hour}`
if (!messageData.user_exclusao > 0) {
// FAVORITO
// if (messageData.favorite && messageData.favorite.includes(SESSION_DATA.id)) div += `
`;
// AÇÕES DA MENSAGEM
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
}
let jsonResponse = JSON.stringify(objResponse);
// REAÇÕES
div += '
';
div += ' ';
div += '
';
div += '
'
div += `
Responder
`;
// div += `
Encaminhar
`;
div += `
Marcar como não lido
`;
// div += `
Favoritar Mensagem
`;
div += '
';
div += ` 👍`;
div += ` 👎`;
div += ` 😂`;
div += ` 😍`;
div += ` 😥`;
div += ` 🎯`;
div += ` 🆗`;
div += '
`;
div += ` ${messageData.reactions[reaction].amount > 1 ? messageData.reactions[reaction].amount : ''} ${reaction}`;
div += `
`;
names.forEach(name => div += `${name}`);
div += `
`;
div += `
`;
}
})
div += `
`;
// --------------- FIM RESULTADO REAÇÕES -------------- //
}
div += `
`
div += `
`;
div += `
`;
div += ` `
if (!returnTemplate) div += ``
// PULA UMA LINHA QUANDO EXISTE REAÇÃO
if (existsReaction && !messageData.user_exclusao > 0) div += '';
// VERIFICA SE É PARA RETORNAR O TEMPLATE
if (returnTemplate) return div;
if (childType === 'prepend') {
$('.body-message').prepend(div);
} else {
if ($('.body-message #container-reply').length > 0) {
$(div).insertBefore('.body-message #container-reply');
defaultScroll();
} else {
$('.body-message').append(div);
}
}
checarPosicaoChat();
}