let lastIdNeutral = null;
function messageNeutral(messageData, childType = "append", returnTemplate = false) {
let div = "";
let messageUser = "";
let existsReaction = false;
if (SESSION_DATA.id == messageData.sender.id) messageUser = 'my-message-neutral';
// INICIO DA DIV DA MENSAGEM //
if (!returnTemplate) div += `
`;
let ReceivePictureVerify = (((!$('.body-message .message-data:last').hasClass('my-message-neutral') && childType === 'append' && SESSION_DATA.id == messageData.sender.id)
||
$('.body-message .message-data:last').hasClass('my-message-neutral') && childType === 'append' && SESSION_DATA.id != messageData.sender.id) && !returnTemplate);
/*
Este if, verifica se quando carrega novas mensagens na rolagem, se a última mensagem carregada já não está com a foto e o
nome do usuário incluídos, se tiver e a primeira mensagem carregada também for do mesmo usuário, remove a foto que já havia
sido carregada e mantem somente a última para que não fiquei mais de uma foto e nome para mensagens seguidas do mesmo usuário.
*/
if ((messageData.printPicture && childType === 'prepend' && ((lastIdNeutral != 0 && messageData.sender.id != 0) && (lastIdNeutral == 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();
}
//--------------------------------------------------------------------------------------------------------------------------------
// FOTO E NOME DO USUÁRIO //
if (messageData.printPicture && childType === 'prepend' || ReceivePictureVerify || (document.querySelector(`#message-${messageData.messageId} .user-pick`) && childType === 'append')) {
div += `
`
div += ` `;
div += `
`;
div += `
`;
div += `
`;
div += ` ${messageData.sender.name}`;
div += `
`;
lastIdNeutral = messageData.sender.id;
} else div += ` `;
// CONTEÚDO DA MENSAGEM
div += `
`;
// VERIFICA SE FOI ENVIADO ALGUM ARQUIVO
const existsFiles = messageData.files.replace("{", "").replace("}", "").split(",");
const namesFiles = ((messageData.nome_arquivo) ? messageData.nome_arquivo.split(",") : '');
if (existsFiles[0] != "") {
existsFiles.forEach((file, key) => {
const fileUrl = (`${FILE_URL}/${file}`).replaceAll(" ", "");
const fileExtension = fileUrl.slice(-3);
const fileName = fileUrl.split('ArqEscritorio/');
fileName.push(messageData.nome_arquivo);
// image
if (['png', 'jpg', 'gif', 'jpeg'].includes(fileExtension))
div += ``;
else if (['mp3'].includes(fileExtension))
div += ``;
else if (['mp4'].includes(fileExtension))
div += ` `;
// doc
else {
div += "
";
}
})
}
// VERIFICA SE HÁ MENSAGEM
div += ` ${identificaLink(messageData.message)}`;
// HORA DA MENSAGEM
div += ` ${messageData.hour}`
// FAVORITO
// if (messageData.favorite && messageData.favorite.includes(SESSION_DATA.id)) div += `
`;
if (messageData.chatType != 'bot') {
// AÇÕES DA MENSAGEM
div += "
";
// REAÇÕES
div += '
';
div += ' ';
div += '
';
div += '
'
// div += `
Responder
`;
// 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) div += '';
// VERIFICA QUAL TIPO DE APPEND É
if (returnTemplate) return div;
if (childType === 'prepend') {
$('.body-message').prepend(div);
} else {
$('.body-message').append(div);
defaultScroll();
}
checarPosicaoChat();
}