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 += "
"; div += ` `; div += ` ${iconeFileChat(fileExtension)}`; div += ` ${namesFiles[key]}`; div += ` `; 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 += '
'; div += '
'; div += '
' div += "
"; // --------------- RESULTADO REAÇÕES --------------------- // const reactions = ['👍', '👎', '😂', '😍', '😥', '🎯', '🆗']; div += `
`; reactions.forEach(reaction => { if (messageData.reactions && messageData.reactions[reaction].amount > 0) { const names = messageData.reactions[reaction].names.split(','); existsReaction = true; 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(); }