Greasy Fork is available in English.

MVIgnore

Es preferible ser el enemigo de alguien bueno, que el amigo de alguien que es mala persona.

// ==UserScript==
// @name         MVIgnore
// @namespace    BanzaiTrampantonjilygil
// @version      2024-03-31
// @description  Es preferible ser el enemigo de alguien bueno, que el amigo de alguien que es mala persona.
// @author       Trampantojo
// @license      Public Domain
// @match        https://www.mediavida.com/foro/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=mediavida.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const blocked = new Set(JSON.parse(localStorage.getItem('mvignore') || '[]'));
    function cleanGarbage() {
        if (blocked.size === 0) {
            return;
        }
        const users_selector = Array.from(blocked).map(item => `div[data-autor="${item}"]`).join(',');
        document.querySelectorAll(users_selector).forEach(elm => elm.textContent = 'Mensaje ignorado');
    }

    // Monkey-Patch!
    const origShowCard = window.showCard;
    window.showCard = function (user_card, orig) {
        const mute_btn = user_card.find('#mute-user');
        const name = mute_btn.data('name');
        const ignore_global_btn = $("<a type='button' id='mute-user-global' class='btn'><i class='fa fa-fire-extinguisher'></i> Ignorar globalmente</a>");
        ignore_global_btn.data({name});
        ignore_global_btn.on('click', function() {
            blocked.add($(this).data('name'));
            localStorage.setItem('mvignore', JSON.stringify(Array.from(blocked)));
            cleanGarbage();
        });
        ignore_global_btn.insertAfter(mute_btn);
        origShowCard(...arguments);
    };

    cleanGarbage();
})();