From 90965ba41b6e3ec9d28c674552d76e9147f395ee Mon Sep 17 00:00:00 2001 From: ErikrafT <139592038+erikraft@users.noreply.github.com> Date: Thu, 8 May 2025 16:55:44 -0300 Subject: [PATCH] Update ui.js --- public/scripts/ui.js | 93 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 76 insertions(+), 17 deletions(-) diff --git a/public/scripts/ui.js b/public/scripts/ui.js index 70ab20b..952da8a 100644 --- a/public/scripts/ui.js +++ b/public/scripts/ui.js @@ -201,18 +201,15 @@ class PeersUI { await window.pairdrop.contentModeration.processFile(file); } - Events.fire('activate-share-mode', { - files: files - }); + Events.fire('activate-share-mode', { + files: files + }); } catch (error) { window.pairdrop.toast.show(error.message); } } else if (text) { - if (window.pairdrop.contentModeration.isSpam(text).isSpam) { - window.pairdrop.toast.show('Texto bloqueado: Possível spam detectado'); - return; - } + // Remove verificação de spam para texto Events.fire('activate-share-mode', { text: text }); @@ -257,10 +254,7 @@ class PeersUI { } } else if (text) { - if (window.pairdrop.contentModeration.isSpam(text).isSpam) { - window.pairdrop.toast.show('Texto bloqueado: Possível spam detectado'); - return; - } + // Remove verificação de spam para texto Events.fire('activate-share-mode', { text: text }); @@ -2051,12 +2045,7 @@ class ReceiveTextDialog extends Dialog { async _onText(text, peerId) { try { - // Verifica se o texto é spam - if (window.pairdrop.contentModeration.isSpam(text).isSpam) { - window.pairdrop.toast.show('Texto bloqueado: Possível spam detectado'); - return; - } - + // Remove verificação de spam para texto recebido this.textQueue.push({ text: text, peerId: peerId @@ -2070,6 +2059,76 @@ class ReceiveTextDialog extends Dialog { } } + async showBlockedMessageDialog(text, contentType) { + return new Promise((resolve) => { + const dialog = document.createElement('div'); + dialog.className = 'dialog blocked-message-dialog'; + + const title = this.getBlockedMessageReason(contentType); + const icon = this.getWarningIcon(contentType); + + dialog.innerHTML = ` +
+
${icon}
+
${title}
+
+

Esta mensagem foi bloqueada pelo sistema de moderação.

+

Deseja visualizar mesmo assim?

+
+
+ + +
+
+ `; + + document.body.appendChild(dialog); + + const showButton = dialog.querySelector('.warning-button.show'); + const closeButton = dialog.querySelector('.warning-button.close'); + + showButton.onclick = () => { + document.body.removeChild(dialog); + resolve(true); + }; + + closeButton.onclick = () => { + document.body.removeChild(dialog); + resolve(false); + }; + + // Fecha o diálogo com ESC + document.addEventListener('keydown', function escHandler(e) { + if (e.key === 'Escape') { + document.body.removeChild(dialog); + document.removeEventListener('keydown', escHandler); + resolve(false); + } + }); + }); + } + + getWarningIcon(contentType) { + switch(contentType) { + case 'explicit': + return ` + + `; + case 'spam': + return ` + + `; + case 'offensive': + return ` + + `; + default: + return ` + + `; + } + } + _dequeueRequests() { this._setDocumentTitleMessages(); changeFavicon("images/favicon-96x96-notification.png");