Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/19f250dd37385c99e55adf06366e3cfc.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript==
// @name LeetCode solution article widener
// @namespace https://github.com/zica87/self-made-userscipts
// @version 2.0
// @description Add a toggle to widen the solution articles to view long code easier.
// @author zica
// @match https://leetcode.com/*
// @grant none
// @license GPL-3.0
// @downloadURL https://update.greasyfork.icu/scripts/456504/LeetCode%20solution%20article%20widener.user.js
// @updateURL https://update.greasyfork.icu/scripts/456504/LeetCode%20solution%20article%20widener.meta.js
// ==/UserScript==
(function () {
"use strict";
const solutionPageRegEx = new RegExp(
"https://leetcode.com/problems/.*/solutions/.*/"
);
const editorialPageRegEx = new RegExp(
"https://leetcode.com/problems/.*/editorial"
);
const toggle = document.createElement("button");
toggle.innerText = "←→";
toggle.onclick = () => {
if (toggle.innerText === "←→") {
const articles = document.getElementsByClassName("mx-auto");
for (const article of articles) {
article.style.maxWidth = "none";
}
toggle.innerText = "default width";
} else {
const articles = document.getElementsByClassName("mx-auto");
for (const article of articles) {
article.style = {};
}
toggle.innerText = "←→";
}
};
const observer = new MutationObserver((_, observerInstance) => {
if (
!solutionPageRegEx.test(window.location.href) &&
!editorialPageRegEx.test(window.location.href)
) {
return;
}
const topRightToolbar = document.getElementsByClassName("ml-4")[0];
if (topRightToolbar === undefined) {
return;
}
observerInstance.disconnect();
topRightToolbar.prepend(toggle);
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
})();