diff options
author | 0neGal <mail@0negal.com> | 2024-06-09 18:09:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-09 18:09:26 +0200 |
commit | 04b0e9fcea6c60257d7bc68994103eacb340a82b (patch) | |
tree | cd46c3c09f11f839eebb0e4dc682ca6c85689bf6 /src/app/js/set_buttons.js | |
parent | 3904a4492f72ef9a9fd531c0b81f3711541c97e0 (diff) | |
parent | aa53f7a5fd5408596d6cc1ea579d68d1ae897698 (diff) | |
download | Viper-04b0e9fcea6c60257d7bc68994103eacb340a82b.tar.gz Viper-04b0e9fcea6c60257d7bc68994103eacb340a82b.zip |
Merge pull request #237 from 0neGal/modularized-frontend
chore: Modularize the frontend code
Generally this should be fine, there might still be some uncaught bugs, but it hopefully isn't anything too major.
Diffstat (limited to 'src/app/js/set_buttons.js')
-rw-r--r-- | src/app/js/set_buttons.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/app/js/set_buttons.js b/src/app/js/set_buttons.js new file mode 100644 index 0000000..9cb9d3e --- /dev/null +++ b/src/app/js/set_buttons.js @@ -0,0 +1,40 @@ +const ipcRenderer = require("electron").ipcRenderer; + +ipcRenderer.on("set-buttons", (_, state) => { + set_buttons(state); +}) + +// disables or enables certain buttons when for example +// updating/installing Northstar. +module.exports = (state, enable_gamepath_btns) => { + playNsBtn.disabled = ! state; + + let disable_array = (array) => { + for (let i = 0; i < array.length; i++) { + array[i].disabled = ! state; + + if (state) { + array[i].classList.remove("disabled") + } else { + array[i].classList.add("disabled") + } + } + } + + disable_array(document.querySelectorAll([ + "#modsdiv .el button", + ".disable-when-installing", + ".playBtnContainer .playBtn", + "#nsMods .buttons.modbtns button", + "#browser #browserEntries .text button", + ])) + + if (enable_gamepath_btns) { + let gamepath_btns = query_all('*[onclick="gamepath.set()"]'); + + for (let i = 0; i < gamepath_btns.length; i++) { + gamepath_btns[i].disabled = false; + gamepath_btns[i].classList.remove("disabled"); + } + } +} |