nautiljon-series-total-time

Dans les fiches Animes et Dramas, calcule la durée totale des séries.

// ==UserScript==
// @name           nautiljon-series-total-time
// @name:fr        nautiljon-series-total-time
// @namespace      http://tampermonkey.net/
// @version        0.2.2
// @description    Dans les fiches Animes et Dramas, calcule la durée totale des séries.
// @description:fr Dans les fiches Animes et Dramas, calcule la durée totale des séries.
// @author         Ed38
// @license        MIT
// @match          https://www.nautiljon.com/animes/*
// @match          https://www.nautiljon.com/dramas/*
// @icon           https://www.google.com/s2/favicons?sz=64&domain=nautiljon.com
// @grant          none
// @noframes
// ==/UserScript==

(function() {
    'use strict';
    $('span[itemprop = "numberOfEpisodes"]').each(function(){
        var numberOfEpisodes = this.textContent;
        if(~~numberOfEpisodes > 1){
            var episodeDuration = this.nextSibling.textContent.replace(/\s+/g, '').replace(/^.*[x×]/,'');
            var hours = 0;
            var minutes = 0;
            // hours & minutes
            if (episodeDuration.match(/^(\d+)h.*/)) {
                hours = episodeDuration.replace(/^(\d+)h.*/,"$1") ;
                minutes = episodeDuration.replace(/^\d+h/,"") ;
            }
            else
            {
                hours = 0;
                if (episodeDuration.match(/^(\d+)min.*/)) {
                    minutes = episodeDuration.replace(/^(\d+)min.*/,"$1") ;
                }
                else
                {
                    minutes = 0;
                }
            }
            var totalDuration = ~~numberOfEpisodes * (~~hours * 60 + ~~minutes) ;
            var itemHours = Math.trunc(totalDuration / 60) ;
            var  itemMinutes = totalDuration % 60 ;
            this.parentNode.insertAdjacentHTML('beforeend', '<span class="infos_small"> (' + itemHours + ' h ' + itemMinutes.toString().padStart(2,"0") + ' min)</span>') ;
        }
    });

})();