LztStreamerMode

Режим стримера для Lolzteam

当前为 2023-08-10 提交的版本,查看 最新版本

// ==UserScript==
// @name         LztStreamerMode
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Режим стримера для Lolzteam
// @author       vuchaev2015
// @match        https://zelenka.guru/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=zelenka.guru
// @grant        none
// @run-at       document-start
// ==/UserScript==

document.addEventListener('DOMContentLoaded', () => {
    const applyBlur = (selector, parent = document) => {
        const elements = parent.querySelectorAll(selector);
        elements.forEach(el => {
            if (selector === '.bbCodeHide') {
                if (el.querySelector('aside')) {
                    const hideContainerQuote = el.querySelector('.hideContainer .quote');
                    if (hideContainerQuote) {
                        hideContainerQuote.style.filter = 'blur(5px)';
                        hideContainerQuote.addEventListener('mouseenter', () => hideContainerQuote.style.filter = 'none');
                        hideContainerQuote.addEventListener('mouseleave', () => hideContainerQuote.style.filter = 'blur(5px)');
                    }
                }
            } else {
                el.style.filter = 'blur(5px)';
                el.addEventListener('mouseenter', () => el.style.filter = 'none');
                el.addEventListener('mouseleave', () => el.style.filter = 'blur(5px)');
            }
        });
    }

    const selectors = [
        '.bbCodeHide',
        '.listPlaceholder',
        '#AlertPanels',
        '#AccountMenu > ul > li.Popup.PopupInPopup.DisableHover > a > span.left',
        '#ConversationListItems'
    ];

    const applyBlurToAllSelectors = () => {
        selectors.forEach(selector => applyBlur(selector));
    }

    applyBlurToAllSelectors();

    const observer = new MutationObserver(() => {
        applyBlurToAllSelectors();
    });

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