Yandex, I'm taken!

Убирает назойливый баннер «Сделать Яндекс поиском по умолчанию?»

// ==UserScript==
// @name         Yandex, I'm taken!
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Убирает назойливый баннер «Сделать Яндекс поиском по умолчанию?»
// @author       Echo91
// @match        *://ya.ru/*
// @match        *://yandex.ru/*
// @license      MIT
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function shouldRunHere() {
        const url = location.href;

        // Разрешаем только:
        // - главная ya.ru
        // - главная yandex.ru
        // - поиск yandex.ru/search
        if (url.startsWith("https://ya.ru/")) return true;
        if (url.startsWith("https://yandex.ru/") && (
            url === "https://yandex.ru/" ||
            url.includes("/search")
        )) return true;

        return false;
    }

    function removeBanner() {
        if (!shouldRunHere()) return;

        document.querySelectorAll(
            '.Distribution-Actions, [class*="Distribution"], .popup, .Popup, .Modal, .Overlay'
        ).forEach(el => {
            if (el.innerText && el.innerText.match(/Сделать Яндекс основным поиском/i)) {
                console.log("Удалён баннер Яндекса:", el);
                el.remove();
            }
        });

        // Если вдруг кнопка "Нет" осталась
        const denyBtn = [...document.querySelectorAll('button, a')]
            .find(el => el.innerText && el.innerText.match(/Нет/i));
        if (denyBtn) {
            denyBtn.click();
            console.log("Автоматически нажата кнопка 'Нет'");
        }
    }

    // Запуск сразу
    removeBanner();

    // Следим за изменениями
    const observer = new MutationObserver(removeBanner);
    observer.observe(document.body, { childList: true, subtree: true });
})();