From 2fd86b4064de654952a2eead042bbbcb269ed693 Mon Sep 17 00:00:00 2001 From: ErikrafT <139592038+erikraft@users.noreply.github.com> Date: Thu, 8 May 2025 17:59:23 -0300 Subject: [PATCH] Update main.js --- public/scripts/main.js | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/public/scripts/main.js b/public/scripts/main.js index 304e047..bc12a75 100644 --- a/public/scripts/main.js +++ b/public/scripts/main.js @@ -319,19 +319,34 @@ async function handleReceivedFile(file) { // Intercepta o WebRTC para verificar arquivos antes do compartilhamento function interceptWebRTC() { const originalPeerConnection = window.RTCPeerConnection; + window.RTCPeerConnection = function(...args) { const pc = new originalPeerConnection(...args); - // Intercepta o método de envio de dados const originalSend = pc.send; pc.send = async function(data) { if (data instanceof Blob || data instanceof File) { try { - const processedFile = await handleReceivedFile(data); - if (!processedFile) { - throw new Error('Arquivo bloqueado pelo sistema de moderação'); + // Verifica conteúdo explícito + const result = await contentModeration.checkNSFW(data); + + if (result.isNSFW) { + if (localStorage.getItem('blockExplicitContent') === 'true') { + throw new Error('Conteúdo bloqueado pelas configurações do usuário'); + } + + const userResponse = await contentModeration.showFrameWarningDialog( + data, + result.blurredMedia, + result.contentType + ); + + if (!userResponse) { + throw new Error('Envio cancelado pelo usuário'); + } } - return originalSend.call(this, processedFile); + + return originalSend.call(this, data); } catch (error) { console.error('Erro ao processar arquivo:', error); throw error;