Remove difficulty on boot.dev assignments

Remove difficulty on boot.dev assignments by hiding the element

Per 15-07-2025. Zie de nieuwste versie.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name        Remove difficulty on boot.dev assignments
// @namespace   https://github.com/luigiMinardi
// @match       https://www.boot.dev/lessons/*
// @grant       none
// @version     0.1
// @author      luigiMinardi
// @license     MIT
// @description Remove difficulty on boot.dev assignments by hiding the element
// ==/UserScript==

function removeDifficulty() {
  let fullBar = document.querySelector("#__nuxt > div > div.static-bgimage.bg-image-blue > div.h-full-minus-bar.flex > div > div > div > div:nth-child(1) > div");

  let iconsArray = fullBar.children[0].children
  //console.log("iconsArray:", iconsArray) // Use that to debug if iconsArray change in the future
  if (iconsArray.length == 0) {
    setTimeout(() => {
      removeDifficulty()
    }, 100)
    return
  }
  iconsArray[3].style.display = 'none'; // remove one divisory
  iconsArray[4].style.display = 'none'; // remove the difficulty icon
}

setTimeout(() => {
  removeDifficulty()
},100);

// Code to call function on page change
// This seem to refresh the page every time you move to a new one, so you may want to remove this part of the script
// Source: https://itsopensource.com/how-to-call-a-function-on-URL-change-in-javascript/#:~:text=Solution
(function(history){
    let pushState = history.pushState;
    history.pushState = function(state) {
      setTimeout(() => {
        removeDifficulty()
      },100);

      return pushState.apply(history, arguments);
    };
})(window.history);