nautiljon-total-time

Calcule la durée totale sur la liste des animes à voir.

目前为 2022-06-14 提交的版本,查看 最新版本

// ==UserScript==
// @name             nautiljon-total-time
// @namespace        http://tampermonkey.net/
// @version          0.3
// @description      Calcule la durée totale sur la liste des animes à voir.
// @author           Ed38
// @license          MIT
// @match            https://www.nautiljon.com/membre/a-voir,*,anime.html*
// @icon             https://www.google.com/s2/favicons?sz=64&domain=nautiljon.com
// @grant            none
// ==/UserScript==

(function() {
    'use strict';
    var counter = 0;
    var durationNode ;
    var durationText ;
    var numberOfEpisodes ;
    var hours = 0;
    var minutes = 0;
    var durationsNode=document.getElementsByClassName("t_progression") ;


    for (var i=0 ; i<durationsNode.length; i++) {
        durationText=durationsNode[i].textContent;
        durationText = durationText.replace(/\s+/g, ''); // remove whitespaces

        // Number of episodes
        if (durationText.match(/^(\d+)x.*/)) {
            numberOfEpisodes=durationText.replace(/^(\d+)x.*/,"$1");
            durationText=durationText.replace(/^\d+x/,"");
        }
        else
        {
            numberOfEpisodes = 1;
        }

        // hours & minutes
        if (durationText.match(/^(\d+)h.*/)) {
            hours=durationText.replace(/^(\d+)h.*/,"$1");
            minutes=durationText.replace(/^\d+h/,"");
        }
        else
        {
            hours= 0;
            if (durationText.match(/^(\d+)min.*/)) {
                minutes=durationText.replace(/^(\d+)min.*/,"$1");
            }
            else
            {
                minutes= 0;
            }
        }

        counter=counter+~~numberOfEpisodes*(~~hours*60+~~minutes) ;


    }

    var counterHours=Math.trunc(counter/60);
    var counterMinutes=counter % 60 ;

    var menupage=document.getElementsByClassName("menupage");
    var listingListe=document.getElementById("listingListe") ;
    var stats_statut=document.getElementsByClassName("stats_statut");
    var counterDiv=document.createElement("div");
    counterDiv.innerHTML="Durée totale de la liste : "+counterHours+" h "+counterMinutes.toString().padStart(2,"0")+" min.";
    counterDiv.style.padding="10px";
    listingListe.parentNode.insertBefore(counterDiv,listingListe);

})();