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
/views/assets/js/
common.js
is used on all of the pages for common useful functions.prset.js
is used on the proxy pages for proxy form functionality.header.js
inserts the header into every page using javascript.csel.js
manages the settings menu on the header.footer.js
inserts the footer into every page using javascript.gnav/*.js
are used for navigation on the games pages.Browser Tab Config
Change the universal tab title:
-Change the universal tab icon:
- diff --git a/views/pages/proxnav/rammerhead.html b/views/pages/proxnav/rammerhead.html index 3b642591..2fa16eea 100644 --- a/views/pages/proxnav/rammerhead.html +++ b/views/pages/proxnav/rammerhead.html @@ -50,16 +50,15 @@ Its session-based proxying concept enables much support for webites like Discord, YouTube, and more! -