Button Remover

Removes the "Explore Premium" and "Install App" buttons from Spotify web player.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name        Button Remover
// @namespace   http://tampermonkey.net/
// @version     1.3
// @description Removes the "Explore Premium" and "Install App" buttons from Spotify web player.
// @author      InariOkami
// @icon        https://www.google.com/s2/favicons?sz=64&domain=spotify.com
// @match       https://open.spotify.com/*
// @grant       none
// ==/UserScript==

(function() {
    'use strict';

    function removeElements(selector) {
        let elements = document.querySelectorAll(selector);
        elements.forEach(el => el.remove());
    }

    removeElements('.ButtonInner-sc-14ud5tc-0.gDlqhe.encore-over-media-set');
    removeElements('.ButtonInner-sc-14ud5tc-0.fcsOIN.encore-inverted-light-set.Upqw01TOXETOmR5Td7Dj');
    const observer = new MutationObserver(function(mutations) {
        mutations.forEach(() => {
            removeElements('.ButtonInner-sc-14ud5tc-0.gDlqhe.encore-over-media-set');  // Install App button
            removeElements('.ButtonInner-sc-14ud5tc-0.fcsOIN.encore-inverted-light-set.Upqw01TOXETOmR5Td7Dj');
        });
    });

    observer.observe(document.body, { childList: true, subtree: true });

})();