From 6a2adf920990b75c6f7893c5019f99f47cbf9ef8 Mon Sep 17 00:00:00 2001 From: 00Fjongl <65314359+00Fjongl@users.noreply.github.com> Date: Tue, 23 Jul 2024 03:50:55 -0500 Subject: [PATCH] Code optimization and commenting --- views/assets/css/styles-1644738239.css | 14 ++++----- views/assets/js/common-16451543478.js | 39 ++++++++++++++++++++++++++ views/assets/js/prset.js | 23 --------------- views/pages/misc/deobf/docs.html | 4 --- views/pages/misc/deobf/settings.html | 4 +-- views/pages/proxnav/rammerhead.html | 11 ++------ views/pages/proxnav/ultraviolet.html | 11 ++------ 7 files changed, 54 insertions(+), 52 deletions(-) delete mode 100644 views/assets/js/prset.js diff --git a/views/assets/css/styles-1644738239.css b/views/assets/css/styles-1644738239.css index bd1e7f92..af888737 100644 --- a/views/assets/css/styles-1644738239.css +++ b/views/assets/css/styles-1644738239.css @@ -1483,17 +1483,17 @@ iner } } -#pr-form { +.pr-form { margin-bottom: 16px; } -#pr-form > input { +.pr-form > input { background-color: var(--nord0); border: 1px solid var(--nord0); } -#pr-form > input, -#pr-form > a { +.pr-form > input, +.pr-form > a { vertical-align: baseline; outline: none; border-radius: 5px; @@ -1504,16 +1504,16 @@ iner margin: 3px; } -#pr-url { +.pr-form > input[type=text] { max-width: 700px; width: calc(100% - 44px); } -#pr-url:focus { +.pr-form > input[type=text]:focus { animation: glowshadow 2s linear infinite; } -#pr-url::placeholder { +.pr-form > input[type=text]::placeholder { color: var(--gray); } diff --git a/views/assets/js/common-16451543478.js b/views/assets/js/common-16451543478.js index 5ed63ccb..e2a5c822 100644 --- a/views/assets/js/common-16451543478.js +++ b/views/assets/js/common-16451543478.js @@ -22,6 +22,7 @@ const urlHandler = parser => typeof parser === "function" // Return different functions based on whether a URL has already been set. // Should help avoid confusion when using or adding to the goProx object. ? (url, mode) => { + if (!url) return; url = parser(url); mode = `${mode}`.toLowerCase(); if (mode === "stealth" || mode == 1) goFrame(url); @@ -37,6 +38,7 @@ const urlHandler = parser => typeof parser === "function" // An asynchronous version of the function above, just in case. const asyncUrlHandler = parser => async (url, mode) => { + if (!url) return; if (typeof parser === "function") url = await parser(url); mode = `${mode}`.toLowerCase(); if (mode === "stealth" || mode == 1) goFrame(url); @@ -397,8 +399,41 @@ addEventListener("DOMContentLoaded", () => { heli: urlHandler(uvUrl("https://benjames171.itch.io/helo-storm")) }); + + +// Attach event listeners using goProx to specific app menus that need it. + const prSet = (id, type) => { + const formElement = document.getElementById(id); + if (!formElement) return; + + let prUrl = formElement.querySelector("input[type=text]"), + prGo1 = formElement.getElementsByClassName("pr-go1")[0], + prGo2 = formElement.getElementsByClassName("pr-go2")[0]; + +// Handle the other menu buttons differently if there is no omnibox. Menus +// which lack an omnibox likely use buttons as mere links. + const goProxMethod = prUrl !== undefined + ? mode => () => {goProx[type](prUrl.value, mode)} + : mode => () => {goProx[type](mode)}, + +// Ultraviolet is currently incompatible with window mode. + searchMode = type === "ultraviolet" ? "stealth" : "window"; + + if (prUrl) prUrl.addEventListener("keydown", e => { + if (e.code === "Enter") goProxMethod(searchMode)(); + }); + + if (prGo1) prGo1.addEventListener("click", goProxMethod("window")); + if (prGo2) prGo2.addEventListener("click", goProxMethod("stealth")); + }; + + + prSet("pr-uv", "ultraviolet"); + prSet("pr-rh", "rammerhead"); }); + + (async () => { // Load in relevant JSON files used to organize large sets of data. // This first one is for links, whereas the rest are for navigation menus. @@ -409,6 +444,7 @@ addEventListener("DOMContentLoaded", () => { (document.getElementById(item[0]) || {}).href = item[1]; const navLists = { +// Pair an element ID with a JSON file name. They are identical for now. "emu-nav": "emu-nav", "emulib-nav": "emulib-nav", "flash-nav": "flash-nav", @@ -430,6 +466,8 @@ addEventListener("DOMContentLoaded", () => { case "emulib-nav": case "h5-nav": { const dirnames = { +// Set the directory of where each item of the corresponding JSON +// list will be retrieved from. "emu-nav": "emu", "emulib-nav": "emulib", "h5-nav": "h5g" @@ -500,6 +538,7 @@ addEventListener("DOMContentLoaded", () => { break; // No default case. + } } } diff --git a/views/assets/js/prset.js b/views/assets/js/prset.js deleted file mode 100644 index 9ace9742..00000000 --- a/views/assets/js/prset.js +++ /dev/null @@ -1,23 +0,0 @@ -/* ----------------------------------------------- -/* Authors: OlyB -/* GNU Affero General Public License v3.0: https://www.gnu.org/licenses/agpl-3.0.en.html -/* prSet script -/* ----------------------------------------------- */ - -function prSet(type) { - var prUrl = document.getElementById("pr-url"), - prGo1 = document.getElementById("pr-go1"), - prGo2 = document.getElementById("pr-go2"); - - prUrl.addEventListener("keydown", function(e) { - if (e.code == "Enter" && prUrl.value) goProx[type](prUrl.value); - }, false); - - prGo1.addEventListener("click", function() { - if (prUrl.value) goProx[type](prUrl.value, "window"); - }, false); - - prGo2.addEventListener("click", function() { - if (prUrl.value) goProx[type](prUrl.value, "stealth"); - }, false); -} diff --git a/views/pages/misc/deobf/docs.html b/views/pages/misc/deobf/docs.html index 702ff869..46653850 100644 --- a/views/pages/misc/deobf/docs.html +++ b/views/pages/misc/deobf/docs.html @@ -102,11 +102,7 @@ npm start

Scripts located in /views/assets/js/

Future Additions