Greasy Fork is available in English.

Leetcode invisible

A script to hide Leetcode question difficultly

Versione datata 11/06/2020. Vedi la nuova versione l'ultima versione.

  1. // ==UserScript==
  2. // @name Leetcode invisible
  3. // @version 0.1
  4. // @description A script to hide Leetcode question difficultly
  5. // @author osjobs.net
  6. // @match https://leetcode.com/*
  7. // @exclude https://leetcode.com/problems/*/discuss/*
  8. // @grant none
  9. // @namespace https://greatest.deepsurf.us/users/555531
  10. // ==/UserScript==
  11.  
  12.  
  13. // Since Leetcode use Ajax to load content,
  14. // we have to check the label in first few seconds
  15. if (window.location.href.indexOf("problemset") > -1) {
  16. var problemsetTimer = setInterval(problemsetFunction, 2000);
  17. } else if (window.location.href.indexOf("problems") > -1) {
  18. var updateTime = 0;
  19. var problemTimer = setInterval(problemFunction, 100);
  20. }
  21.  
  22.  
  23. function problemsetFunction() {
  24. // Problems list page
  25. if(document.querySelector("span.label-warning")) {
  26. var elementE = document.querySelectorAll("span.label-success");
  27. var elementM = document.querySelectorAll("span.label-warning");
  28. var elementH = document.querySelectorAll("span.label-danger");
  29. update(elementE, "label-success");
  30. update(elementM, "label-warning");
  31. update(elementH, "label-danger");
  32. }
  33. }
  34.  
  35. function problemFunction () {
  36. if (updateTime > 0) {
  37. clearInterval(problemTimer);
  38. }
  39. if(document.querySelector("div.css-10o4wqw")) {
  40. var element = document.getElementsByClassName("css-10o4wqw")[0];
  41. var child = element.getElementsByTagName("div")[0];
  42. child.textContent = "Unknown";
  43. child.className = child.className.replace(/css.*/,"");
  44. updateTime += 1;
  45. }
  46. if(document.querySelector("div.difficulty__ES5S")) {
  47. var similar_element = document.getElementsByClassName("difficulty__ES5S");
  48. for (var i=0; i<similar_element.length; i++) {
  49. similar_element[i].textContent = "Unknown";
  50. }
  51. }
  52. }
  53.  
  54. function update(element, classname) {
  55. for (var i=0; i < element.length; i++) {
  56. element[i].classList.remove(classname);
  57. element[i].textContent = "Unknown";
  58. }
  59. }