SoundCloud Hide Reposts (OBSOLETE)

Remove reposts from your SoundCloud stream. Loosely based off of ABS's "SoundCloud Hide Reposts" script (v1.2), modified to work with Chrome > v127.0.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name SoundCloud Hide Reposts (OBSOLETE)
// @namespace http://axelsparkster.gg
// @version 1.0
// @author Axel Sparkster
// @description Remove reposts from your SoundCloud stream. Loosely based off of ABS's "SoundCloud Hide Reposts" script (v1.2), modified to work with Chrome > v127.0.
// @match *://soundcloud.com/feed
// @license MIT
// ==/UserScript==

console.log("Starting SoundCloud repost hide tool.");

function startMain() {
    // Observe #content for any changes.
    var target = document.querySelector("#content")

    // Observe it for the direct children and all descendants of the node.
    var config = { childList: true, subtree: true };

    // Upon a change, check to see if the item is a repost, and remove it from the tree if so.
    var observer = new MutationObserver(mutations => {
        for(const mutation of mutations) {
            for(const addedNode of mutation.addedNodes) {
                if(addedNode.className === "soundList__item") {
                    if (addedNode.getElementsByClassName("sc-ministats-reposts").length > 0)
                    {
                        addedNode.remove();
                        console.log(addedNode);
                    }
                }
            }
        }
    });

    // Start observing #content.
    observer.observe(target, config);
}
startMain();