Permite marcar como 'no vistos' todos los episodios de una temporada, modificando el botón cuando todos los episodios aparecen como 'vistos'.
// ==UserScript== // @name HdFull Season Button // @namespace https://greasyfork.org // @version 0.1.5 // @description Permite marcar como 'no vistos' todos los episodios de una temporada, modificando el botón cuando todos los episodios aparecen como 'vistos'. // @match https://*/serie/*/temporada-* // @icon https://www.google.com/s2/favicons?domain=hd-full.cc // @grant none // ==/UserScript== if (document.getElementById('header-signin') == null) { var seasonButtons = document.getElementsByClassName('season-mark-view'); // Oculta el botón original de HdFull seasonButtons[0].style.display = 'none'; var newButtonsHTML = ` <div class="season-mark-view" style="display: block;"> <ul class="filter"> <li class="current"> <a href="#" onclick=" var addWatchSeason = function() { var ids = []; $('.show-view').each(function() { ids.push($(this).data('episode')); }); addMultipleWatch(ids,3); $('.seen-box').show(); $('.season-mark-view')[1].style.display = 'none'; $('.season-mark-view')[2].style.display = 'block'; } var addMultipleWatch = function(ids,type){ if($.isArray(ids)) { $.post('/a/status',{ target_id: ids.join(), target_type: type, target_status: 1 },function(resp) { $.each(ids,function(idx, id) { updateStatus(type, id, 1); }); }); } } addWatchSeason(); ">Marcar todos como vistos</a> </li> </ul> </div> <div class="season-mark-view" style="display: none;"> <ul class="filter"> <li class="current"> <a href="#" onclick=" var removeWatchSeason = function() { var ids = []; $('.show-view').each(function() { ids.push($(this).data('episode')); }); removeMultipleWatch(ids,3); $('.seen-box').hide(); $('.season-mark-view')[1].style.display = 'block'; $('.season-mark-view')[2].style.display = 'none'; } var removeMultipleWatch = function(ids,type){ if($.isArray(ids)) { $.post('/a/status',{ target_id: ids.join(), target_type: type, target_status: 0 },function(resp) { $.each(ids,function(idx, id) { updateStatus(type, id, 0); }); }); } } removeWatchSeason(); ">Desmarcar todos como vistos</a> </li> </ul> </div>`; seasonButtons[0].insertAdjacentHTML('afterend', newButtonsHTML); // Actualiza el botón de marcar/desmarcar al estado actual adeacuado var checkWatched = function() { var countUnwatched = 0; document.querySelectorAll(".seen-box").forEach(function(currentValue) { if (currentValue.style.display == "" || currentValue.style.display == 'none') { ++countUnwatched; } }); if (countUnwatched != 0) { // Muestra el botón 'Marcar' y oculta el botón 'Desmarcar' seasonButtons[1].style.display = 'block'; seasonButtons[2].style.display = 'none'; } else { // Oculta el botón 'Marcar' y muestra el botón 'Desmarcar' seasonButtons[1].style.display = 'none'; seasonButtons[2].style.display = 'block'; } } window.onload = function() { setTimeout(function() { checkWatched(); document.querySelectorAll(".actions-seen").forEach(function(c) { c.onclick = function(){ setTimeout(function() { checkWatched(); }, 500); } }); }, 700); } }