Фильтр прямых трансляций YouTube

Фильтрует видео YouTube по значку "В ЭФИРЕ"

// ==UserScript==
// @name         Фильтр прямых трансляций YouTube
// @namespace    your-namespace
// @version      1.0
// @description  Фильтрует видео YouTube по значку "В ЭФИРЕ"
// @author       torchlight
// @match        https://www.youtube.com/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Функция, которая будет вызываться при изменении документа
    function handleDocumentChanges(mutationsList, observer) {
        // Перебрать все мутации
        for (var mutation of mutationsList) {
            // Перебрать все добавленные узлы в мутации
            for (var addedNode of mutation.addedNodes) {
                // Проверить, является ли добавленный узел элементом
                if (addedNode instanceof Element) {
                    // Проверить, содержит ли добавленный узел нужный элемент с классом "ytd-badge-supported-renderer"
                    if (addedNode.classList.contains("ytd-badge-supported-renderer")) {
                        var badgeElement = addedNode;

                        // Проверить, содержит ли элемент нужный текст
                        var badgeText = badgeElement.innerText;
                        if (badgeText.includes("В ЭФИРЕ")) {
                            // Оставить только элементы с нужным текстом
                            badgeElement.closest("ytd-compact-video-renderer").style.display = "block";
                        } else {
                            // Скрыть остальные элементы
                            badgeElement.closest("ytd-compact-video-renderer").style.display = "none";
                        }
                    }
                }
            }
        }
    }

    // Создать новый экземпляр MutationObserver с функцией обратного вызова
    var observer = new MutationObserver(handleDocumentChanges);


    // Настроить наблюдение за изменениями в документе
    observer.observe(document, { childList: true, subtree: true });
})();