sx007 / Seasonvar Downloader

// ==UserScript==
// @name         Seasonvar Downloader
// @name:ru      Загрузчик с сайта Seasonvar
// @version      0.1.1
// @description  Helper download film and serial on site seasonvar.ru
// @description:ru  Помошник для скачивания фильма или сериала с сайта seasonvar.ru
// @author       sx007 (Хлибец Иван)
// @match        *://seasonvar.ru/*
// @run-at       document-end
// @icon         https://cdn.bigsv.ru/images/fav/favicon.ico
// @grant        none
// @copyright 2025, sx007 (https://openuserjs.org/users/sx007)
// @updateURL https://openuserjs.org/meta/sx007/Seasonvar_Downloader.meta.js
// @downloadURL https://openuserjs.org/install/sx007/Seasonvar_Downloader.user.js
// @license MIT
// ==/UserScript==

const configMutat = {
    attributes: false,
    childList: true,
    subtree: true,
    characterData: true
};

let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
if (MutationObserver) {
    console.log("MutationObserver work");
}

const onMutate = function(mutationsList, observer) {
    //Блок контента
    var divContent = document.querySelector('.content-wrap');
    //Блок проигрывателя
    var pgsplayer = document.querySelector('.pgs-player');

    //Куда будем вставлять кнопку
    var paneleUpBtn = document.querySelector('.pgs-mark_line-set');

    if (divContent) {
        if (pgsplayer) {
            //Элемент видео
            var elVideo = document.querySelector('video');
            if (elVideo != null) {
                //Ссылка на видео
                var urlVideo = elVideo.getAttribute('src');
                if (urlVideo != null) {
                    if (paneleUpBtn) {
                        //Панель сверху есть
                        //Сама кнопка
                        var btnDownload = document.querySelector('.btnDownload');
                        if (btnDownload == null) {
                            var linkBut1 = document.createElement('A');
                            linkBut1.href = urlVideo;
                            linkBut1.target = '_blank';
                            linkBut1.classList.add('btnDownload');
                            linkBut1.textContent = 'Скачать';
                            linkBut1.title = "Скачать фильм или сериал";
                            linkBut1.setAttribute("style", "background-color: #000;border-top-left-radius: 5px;border-top-right-radius: 5px;box-shadow: 0 0 2px rgba(0, 0, 0, .5);color: #fff;display: table-cell;height: 2.4em;padding: .3em .7em;text-shadow: 0 0 0 hsla(0, 0%, 100%, .9);vertical-align: middle;");
                            //Добавляем ссылку Скачать в панель кнопок
                            paneleUpBtn.append(linkBut1);
                        } else {
                            //Обновляем ссылку
                            btnDownload.href = urlVideo;
                        }
                    }
                }
            }
        }
    }
};

const observer = new MutationObserver(onMutate);
observer.observe(document.body, configMutat);