WaniKani number clobber

Replaces next review numbers by a description on the Dashboard. Based on Niklas Barsk's WaniKani fake numbers

As of 2018-08-09. See the latest version.

// ==UserScript==
// @name        WaniKani number clobber
// @version     1.2
// @author      Natsuna Fish
// @description Replaces next review numbers by a description on the Dashboard. Based on Niklas Barsk's WaniKani fake numbers
// @include     https://www.wanikani.com/*
// @exclude     https://www.wanikani.com/review/*
// @exclude     https://www.wanikani.com/lesson/*
// @run-at      document-end
// @namespace   https://greasyfork.org/users/168929
// ==/UserScript==

let clobberall = true;

if (clobberall && window.location.pathname == '/review') {
    var reviewqueue = document.getElementById("review-queue-count");
    replaceIfNeeded(reviewqueue);
} else if (clobberall && window.location.pathname == '/lesson') {
    var lessonqueue = document.getElementById("lesson-queue-count");
    replaceIfNeeded(lessonqueue);
} else {
    var lessons = document.getElementsByClassName("nav")[0].children[1].children[0].children[0];
    replaceIfNeeded(lessons);
    var reviews = document.getElementsByClassName("nav")[0].children[2].children[0].children[0];
    replaceIfNeeded(reviews);
}

if (isDashboard()) {
    var nextHour = document.getElementsByClassName("one-hour")[0].children[0];
    var oneDay = document.getElementsByClassName("one-day")[0].children[0];
    replaceIfNeeded(nextHour);
    replaceIfNeeded(oneDay);

}

function replaceIfNeeded(elem) {
    var val = parseInt(elem.innerHTML);
    if ( val <= 0){
        elem.innerHTML = "none";
    } else if (val < 42) {
        elem.innerHTML = "light";
    } else if (val < 200) {
        elem.innerHTML = "medium";
    } else {
        elem.innerHTML = "heavy";
    }
}


function isDashboard() {
    return (window.location.pathname == '/' || window.location.pathname == '/dashboard');
}