jpdb-reviews-ui-tweak

Light rework of the JPDB review page

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name        jpdb-reviews-ui-tweak
// @version     0.0.1
// @match       *://jpdb.io/review*
// @run-at      document-start
// @description Light rework of the JPDB review page
// @license GPLv2
// @namespace https://greasyfork.org/users/888266
// ==/UserScript==

let doc = window.document;

function fixNavbar() {
    // Remove every navigation menu except the "Learn (n)"
    doc
        .querySelectorAll(".menu .nav-item:not(:first-child)")
        .forEach(element => element.remove());

    // Remove the button used to toggle the navigation menu on or off
    doc
        .querySelectorAll(".menu-icon")
        .forEach(element => element.remove());

    // Change the navigation menu maxHeight in order to be always visible
    let parent = doc
        .querySelectorAll(".menu")
        .item(0);
    parent.style.maxHeight = "30px";
    parent.style.transition = "off";

    // Tweak the navigation menu entry, removing the link and changing the message
    let entry = doc
        .querySelectorAll(".menu .nav-item")
        .item(0);

    entry.outerHTML = entry.outerHTML
        .replace(/<a/g, '<div')
        .replace(/<\/a>/g, '</div>')
        .replace("Learn", "Items left");
}

doc.addEventListener('DOMContentLoaded', () => {
    fixNavbar();
});