Button on Kinopoisk AutoRedirection to Flicksbar

Дает возможность быстро перейти на зеркало Flicksbar, появляется слева сверху кнопка перехода на сайт Flicksbar, работает только на www.kinopoisk.ru

// ==UserScript==
// @name         Button on Kinopoisk AutoRedirection to Flicksbar
// @namespace    https://t.me/flicksbar
// @version      1.6.28
// @description  Дает возможность быстро перейти на зеркало Flicksbar, появляется слева сверху кнопка перехода на сайт Flicksbar, работает только на www.kinopoisk.ru
// @author       Vladimir0202, Devitp001
// @match        https://www.kinopoisk.ru/series/*
// @match        https://www.kinopoisk.ru/film/*
// @icon         https://www.kinopoisk.ru/favicon.ico
// @icon64       https://www.kinopoisk.ru/favicon.ico
// @grant        GM_addStyle
// @license MIT
// ==/UserScript==


// Функция для проверки URL и скрытия кнопки при несоответствии условиям
function checkUrlAndToggleButton() {
    const currentUrl = window.location.href;

    // Проверяем, содержится ли в текущем URL подстрока '/name/'
    if (currentUrl.includes('/name/') || currentUrl.includes('/cast/')) {
        console.log('Скрипт не выполняется на этой странице:', currentUrl);
        // Если на странице /name/ или /cast/, то скрываем кнопку
        document.getElementById('myContainer').style.display = 'none';
    } else {
        // Если условия выполняются (страница film или series), показываем кнопку
        document.getElementById('myContainer').style.display = 'block';
    }
}

// Дожидаемся полной загрузки страницы
window.addEventListener('load', function() {
    const redirectURLaddress = 'https://flicksbar.mom';

    function CreateButtonFlicksBar() {
        var zNode = document.createElement('div');
        zNode.innerHTML = '<button id="myButton" type="button">'
                        + 'Смотреть онлайн на Flicksbar!</button>';
        zNode.setAttribute('id', 'myContainer');
        document.body.appendChild(zNode);

        // Добавляем стили для контейнера и кнопки
        GM_addStyle(`
            #myContainer {
                cursor: pointer;
                position: fixed;
                top: 10px;
                left: 0;
                font-size: 20px;
                background: linear-gradient(to right, #4E5FF6, #FC5956);
                margin: 5px;
                z-index: 222;
                padding: 7px 22px;
                border-radius: 50px;
                opacity: 1.1;
                transition: 0.2s ease;
                overflow: hidden; /* Добавлено для корректного отображения ::after */
            }
            #myButton {
                cursor: pointer;
                border: none;
                background: transparent;
                color: white;
                font-weight: bold;
                text-shadow: 1px 1px 2px black, 0 0 1em red;
                opacity: 1.1;
                position: relative;
                z-index: 1;
            }
            #myButton::after {
                content: '';
                position: absolute;
                top: 50%;
                left: -10px; /* Расстояние от текста кнопки до треугольника */
                transform: translateY(-50%);
                width: 0;
                height: 0;
                border-top: 7px solid transparent;
                border-bottom: 7px solid transparent;
                border-left: 12px solid white; /* Размер и цвет треугольника */
                z-index: 0;
            }
            #myContainer:hover {
                background: linear-gradient(to right, #4E5FF6, #FC5956);
                transform: scale(1.02);
            }
        `);

        document.getElementById("myButton").addEventListener(
            "click", ButtonClickAction, false
        );
    }

    function ButtonClickAction(zEvent) {
        const title = document.title.replace(/ — Кинопоиск/g, '').replace(/ — смотреть онлайн/g, '');
        const flicksbarParseURL = `${redirectURLaddress}${document.location.pathname}?t=${title}`;
        window.open(flicksbarParseURL, '_blank');
    }

    // Проверяем URL и создаём кнопку
    if (window.location.href.includes('https://www.kinopoisk.ru/series/') || window.location.href.includes('https://www.kinopoisk.ru/film/')) {
        console.log('Текущий URL соответствует film или series:', window.location.href);
        CreateButtonFlicksBar();
    } else {
        console.log('Неверный формат ссылки или URL:', window.location.href);
    }

    // Создаём MutationObserver для отслеживания изменений в DOM
    const observer = new MutationObserver(function(mutationsList, observer) {
        for(let mutation of mutationsList) {
            if (mutation.type === 'childList' || mutation.type === 'subtree') {
                console.log('Произошло изменение в DOM:', mutation);
                // Проверяем URL после каждого изменения в DOM
                checkUrlAndToggleButton();
            }
        }
    });

    // Настраиваем MutationObserver на отслеживание изменений в основном контейнере страницы (body)
    observer.observe(document.body, { childList: true, subtree: true });

    // Вызываем проверку URL сразу после загрузки страницы
    checkUrlAndToggleButton();
});