let lastIdSender = 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 messageSender(messageData, childType = 'append', returnTemplate = false, container = '.body-message', usaAppend = false, hiddenMenuMsg = false) {
let div = "";
let existsReaction = false;
// if ($(`#message-${messageData.messageId}`).length > 0) return;
// INICIO DA DIV DA MENSAGEM //
if (!returnTemplate) div += `
`;
div += `
`;
if ((messageData.printPicture && childType === 'prepend' && ((lastIdSender > 0 && messageData.sender.id > 0) && (lastIdSender == messageData.sender.id)))) {
let lastUserPick = $(`${container} .message-data .user-pick`).eq(0);
let containerPick = $(lastUserPick).parent().parent();
$(containerPick).find('.user-pick-sender').remove();
$(containerPick).find('.div-user-pick').remove();
$(containerPick).find('.user-name-sender').remove();
}
// FOTO E NOME DO USUÁRIO //
if ((messageData.printPicture && childType === 'prepend') || (!$(`${container} .message-data:last`).hasClass('message-sender-content') && childType === 'append' && !returnTemplate) || (document.querySelector(`#message-${messageData.messageId} .user-pick`) && childType === 'append')) {
if (messageData.chatType !== 'user') {
div += `
${messageData.sender.name}
`;
}
lastIdSender = messageData.sender.id;
}
let idMsg = 0;
if (messageData.dataReply) idMsg = messageData.dataReply.messageId;
// CONTEÚDO DA MENSAGEM
div += `
`;
if (messageData.shareId !== null && messageData.shareId !== undefined) div += `
`;
names.forEach(name => div += `${name}`);
div += `
`;
});
}
div += `
`;
// --------------- FIM RESULTADO REAÇÕES -------------- //
// VERIFICA SE HÁ MENSAGEM
div += `${identificaLink(messageData.message)}`;
} else {
div += ` Mensagem apagada`;
}
div += `
`;
}
lastIdReceiver = messageData.sender.id;
} else if (messageData.chatType !== 'user') {
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') {
if (usaAppend) {
$(`${container}`).append(div);
} else {
$(`${container}`).prepend(div);
}
} else {
$('#container-reply').remove();
$(`${container}`).append(div);
defaultScroll();
}
// reloadAudioPlayers();
registrarEventoEnded();
checarPosicaoChat();
}