diff options
author | 0neGal <mail@0negal.com> | 2024-01-20 02:20:05 +0100 |
---|---|---|
committer | 0neGal <mail@0negal.com> | 2024-01-20 02:20:05 +0100 |
commit | eec515f2b09accf225bbaf6a0625bb0d5924314c (patch) | |
tree | 80d58e93e799541de35244f4f1b58d1a6e414a55 | |
parent | bc34025c7341bdbc9a31e8a16040e7ec6b89fe9b (diff) | |
download | Viper-eec515f2b09accf225bbaf6a0625bb0d5924314c.tar.gz Viper-eec515f2b09accf225bbaf6a0625bb0d5924314c.zip |
fixed settings cog sometimes not moving
If the settings popup was opened or closed through other means than
clicking the settings button itself, "Save" button or "Discord"
button, then the cog wouldn't update/rotate accordingly.
-rw-r--r-- | src/app/js/popups.js | 5 | ||||
-rw-r--r-- | src/app/js/settings.js | 27 |
2 files changed, 19 insertions, 13 deletions
diff --git a/src/app/js/popups.js b/src/app/js/popups.js index 553358a..7411180 100644 --- a/src/app/js/popups.js +++ b/src/app/js/popups.js @@ -24,6 +24,11 @@ popups.set = (popup, state, auto_close_all = true) => { overlay.classList.remove("shown"); popup_el.classList.remove("shown"); } + + events.emit("popup-changed", { + popup: popup_el, + new_state: state + }) } popups.show = (popup, auto_close_all = true) => { diff --git a/src/app/js/settings.js b/src/app/js/settings.js index a333e8b..78a951e 100644 --- a/src/app/js/settings.js +++ b/src/app/js/settings.js @@ -4,19 +4,6 @@ var Settings = { options.scrollTo(0, 0); popups.set("#options", state); - let settings_btn = document.getElementById("settings"); - - if (state) { - settings_btn.classList.add("shown"); - return; - } else if (state === false) { - if (state != undefined) { - settings_btn.classList.remove("shown"); - return; - } - } - - settings_btn.classList.toggle("shown"); }, apply: () => { settings = {...settings, ...Settings.get()}; @@ -120,6 +107,20 @@ var Settings = { } } +events.on("popup-changed", () => { + let settings_is_shown = + document.getElementById("options") + .classList.contains("shown"); + + let settings_btn = document.getElementById("settings"); + + if (settings_is_shown) { + settings_btn.classList.add("shown"); + } else { + settings_btn.classList.remove("shown"); + } +}) + document.body.addEventListener("click", (e) => { let el = document.elementFromPoint(e.clientX, e.clientY); Settings.switch(el); |