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>') ;
        }
    });

})();