From a4020ae7e1ba4d4753a17ea621695fdb22fec777 Mon Sep 17 00:00:00 2001 From: ErikrafT <139592038+erikraft@users.noreply.github.com> Date: Wed, 7 May 2025 16:34:04 -0300 Subject: [PATCH] Update main.js --- public/scripts/main.js | 69 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/public/scripts/main.js b/public/scripts/main.js index be3be4e..a569dce 100644 --- a/public/scripts/main.js +++ b/public/scripts/main.js @@ -241,3 +241,72 @@ class PairDrop { } const pairDrop = new PairDrop(); + +// Inicializa o sistema de moderação +const contentModeration = new ContentModeration(); + +// Função para processar arquivos recebidos +async function handleReceivedFile(file) { + try { + // Verifica se o conteúdo é NSFW + const isNSFW = await contentModeration.checkNSFW(file); + if (isNSFW) { + const shouldView = await contentModeration.showWarningDialog(file, 'explicit'); + if (!shouldView) return; + } + + // Verifica se é spam + if (contentModeration.isSpam(file.name)) { + const shouldView = await contentModeration.showWarningDialog(file, 'spam'); + if (!shouldView) return; + } + + // Verifica se contém linguagem ofensiva + if (contentModeration.hasBlockedWordsWithSubstitutions(file.name)) { + const shouldView = await contentModeration.showWarningDialog(file, 'offensive'); + if (!shouldView) return; + } + + // Processa o arquivo normalmente + processFile(file); + } catch (error) { + console.error('Erro ao processar arquivo:', error); + } +} + +// Função para processar mensagens recebidas +function handleReceivedMessage(message) { + try { + // Verifica se a mensagem contém conteúdo ofensivo + if (contentModeration.hasBlockedWordsWithSubstitutions(message)) { + const messageElement = document.createElement('div'); + messageElement.className = 'message blurred-content'; + messageElement.textContent = message; + contentModeration.applyBlurAndOverlay(messageElement, 'offensive'); + return messageElement; + } + + // Verifica se é spam + if (contentModeration.isSpam(message)) { + const messageElement = document.createElement('div'); + messageElement.className = 'message blurred-content'; + messageElement.textContent = message; + contentModeration.applyBlurAndOverlay(messageElement, 'spam'); + return messageElement; + } + + // Retorna a mensagem normalmente + const messageElement = document.createElement('div'); + messageElement.className = 'message'; + messageElement.textContent = message; + return messageElement; + } catch (error) { + console.error('Erro ao processar mensagem:', error); + return null; + } +} + +// Função para processar notificações push +function handlePushNotification(notification) { + return contentModeration.processPushNotification(notification); +}