Fix NUDE Playground Comment Paste

Fixes the issue where pasting text into comment fields is blocked on nudeplayground.com.

Terá de instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão de gestão de scripts de utilizador para instalar este script.

(Já tenho um gestor de scripts de utilizador, deixe-me instalá-lo!)

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

(Já tenho um gestor de estilos de utilizador, deixe-me instalá-lo!)

// ==UserScript==
// @name         Fix NUDE Playground Comment Paste
// @name:ru      Fix NUDE Playground Comment Paste
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Fixes the issue where pasting text into comment fields is blocked on nudeplayground.com.
// @description:ru Исправляет проблему с блокировкой вставки текста в поля комментариев на nudeplayground.com.
// @author       DenParabal
// @match        https://nudeplayground.com/*
// @grant        none
// @run-at       document-start
// @license      MIT
// ==/UserScript==


(function() {
    'use strict';

    window.addEventListener('paste', function(event) {
        const target = document.activeElement;

        if (target && (target.classList.contains('commentBox') || target.classList.contains('post-area-input'))) {
            const items = event.clipboardData && event.clipboardData.items;
            let hasImage = false;

            if (items) {
                for (let i = 0; i < items.length; i++) {
                    if (items[i].type.indexOf('image') !== -1) {
                        hasImage = true;
                        break;
                    }
                }
            }

            // If no image is detected, block the site's listener from stopping the paste event.
            // This allows the browser to execute the default text paste behavior.
            if (!hasImage) {
                event.stopImmediatePropagation();
            }
        }
    }, true);
})();