Greasy Fork is available in English.

Wanikani Review Forecast 24H Format

24H format for WaniKani review forecast

// ==UserScript==
// @name         Wanikani Review Forecast 24H Format
// @namespace    AksUWK24HF
// @version      0.4
// @description  24H format for WaniKani review forecast
// @author       AksU
// @match        https://www.wanikani.com/
// @match        https://www.wanikani.com/dashboard
// @grant        none
// ==/UserScript==

(function() {
    window.onload = function() {
        var cpt = 0
        var maxTimeout = 20
        var timeout = setTimeout(() => {
            if (document && document.getElementsByClassName("review-forecast")) {
                document.getElementsByClassName("review-forecast")[0].getElementsByClassName("review-forecast__hour-title").forEach(function(timer) {
                    if (timer.innerHTML.indexOf("am") > 0) {
                        timer.innerHTML = timer.innerHTML.substring(0, timer.innerHTML.length - 3);
                        if (parseInt(timer.innerHTML, 10) < 10) {
                            timer.innerHTML = "0" + timer.innerHTML;
                        } else if (parseInt(timer.innerHTML, 10) === 12) {
                            timer.innerHTML = "00";
                        }
                        timer.innerHTML += "h";
                    } else if (timer.innerHTML.indexOf("pm") > 0) {
                        timer.innerHTML = timer.innerHTML.substring(0, timer.innerHTML.length - 3);
                        var toAdd = 12;
                        if (parseInt(timer.innerHTML, 10) === 12) {
                            toAdd = 0;
                        }
                        timer.innerHTML = parseInt(timer.innerHTML, 10) + toAdd;
                        timer.innerHTML += "h";
                    }
                })
                clearTimeout(timeout)
            } else {
                cpt++
                if (cpt >= maxTimeout) {
                    clearTimeout(timeout)
                }
            }
        }, 1000)
    };
})();