Files
tmnf-replay-server/static/user_settings.js

46 lines
1.2 KiB
JavaScript

/* event listener for all sliders */
const sliders = Array.from(document.getElementsByClassName("form-check-input"))
/* safety switch -> never run set before get */
var sliders_set = false
/* defer */
sliders_load_all()
/* get initial values & set listeners */
function sliders_load_all(){
Promise.all(sliders.map(s => {
fetch("/update-user-settings?key=" + s.id, { credentials: "include" }).then(response => {
response.text().then(data => {
if(data == "True"){
s.checked = true
}
})
})
s.addEventListener("change", submit)
})).then(
sliders_set = true
)
}
/* submit settings */
function submit(e){
console.log("submit")
if(!sliders_set){
return
}
const s = e.target
console.log(s)
const json_data = JSON.stringify({ payload : [ { key : s.id, value : s.checked } ] })
console.log(json_data)
fetch("/update-user-settings", {
method: "POST",
credentials: "include",
headers: {'Content-Type': 'application/json'},
body: json_data
}
).then(response => {})
}