access: Minor JS improvements
This commit is contained in:
@ -1,5 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
window.CLIENTS = window.CLIENTS || [];
|
||||||
|
|
||||||
function getCredentialsUsername(client) {
|
function getCredentialsUsername(client) {
|
||||||
return window.localStorage.getItem(`${CLIENT}/${client}/username`);
|
return window.localStorage.getItem(`${CLIENT}/${client}/username`);
|
||||||
}
|
}
|
||||||
@ -11,7 +13,7 @@ function getCredentialsPassword(client) {
|
|||||||
function getBasicAuth(client) {
|
function getBasicAuth(client) {
|
||||||
return {
|
return {
|
||||||
'Authorization': 'Basic ' + btoa(getCredentialsUsername(client) + ':' + getCredentialsPassword(client)),
|
'Authorization': 'Basic ' + btoa(getCredentialsUsername(client) + ':' + getCredentialsPassword(client)),
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async function _get(client, path) {
|
async function _get(client, path) {
|
||||||
@ -128,15 +130,9 @@ function render() {
|
|||||||
const nav = document.getElementsByTagName("nav")[0].getElementsByTagName("ul")[0];
|
const nav = document.getElementsByTagName("nav")[0].getElementsByTagName("ul")[0];
|
||||||
for (const li of nav.children) li.className = '';
|
for (const li of nav.children) li.className = '';
|
||||||
|
|
||||||
let client = null;
|
const client = Object.keys(CLIENTS).find(id => hash.startsWith(`#/${id}/`) || hash === `#/${id}`);
|
||||||
for (const id in CLIENTS) {
|
if (client === undefined) {
|
||||||
if (hash.startsWith(`#/${id}/`) || hash === `#/${id}`) {
|
window.location.hash = `#/${Object.keys(CLIENTS).find(id => !!getCredentialsUsername(id) && !!getCredentialsPassword(id)) || Object.keys(CLIENTS)[0]}`;
|
||||||
client = id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (client === null) {
|
|
||||||
window.location.hash = `#/${Object.keys(CLIENTS)[0]}`;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
nav.children[Object.keys(CLIENTS).indexOf(client)].className = 'active';
|
nav.children[Object.keys(CLIENTS).indexOf(client)].className = 'active';
|
||||||
@ -168,14 +164,8 @@ function render() {
|
|||||||
|
|
||||||
function update() {
|
function update() {
|
||||||
const hash = window.location.hash;
|
const hash = window.location.hash;
|
||||||
let client = null;
|
const client = Object.keys(CLIENTS).find(id => hash.startsWith(`#/${id}/`) || hash === `#/${id}`);
|
||||||
for (const id in CLIENTS) {
|
if (document.hidden || client === undefined) {
|
||||||
if (hash.startsWith(`#/${id}/`) || hash === `#/${id}`) {
|
|
||||||
client = id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (document.hidden) {
|
|
||||||
// do nothing
|
// do nothing
|
||||||
} else {
|
} else {
|
||||||
if (hash === `#/${client}`) {
|
if (hash === `#/${client}`) {
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
window.ELWIG_API = window.ELWIG_API || null;
|
||||||
|
|
||||||
function getCredentialsUsername() {
|
function getCredentialsUsername() {
|
||||||
return window.localStorage.getItem(`${CLIENT}/username`);
|
return window.localStorage.getItem(`${CLIENT}/username`);
|
||||||
}
|
}
|
||||||
@ -11,7 +13,7 @@ function getCredentialsPassword() {
|
|||||||
function getBasicAuth() {
|
function getBasicAuth() {
|
||||||
return {
|
return {
|
||||||
'Authorization': 'Basic ' + btoa(getCredentialsUsername() + ':' + getCredentialsPassword()),
|
'Authorization': 'Basic ' + btoa(getCredentialsUsername() + ':' + getCredentialsPassword()),
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async function _get(path) {
|
async function _get(path) {
|
||||||
@ -311,10 +313,6 @@ window.addEventListener('hashchange', () => {
|
|||||||
render();
|
render();
|
||||||
});
|
});
|
||||||
|
|
||||||
window.addEventListener('pageshow', update)
|
|
||||||
|
|
||||||
document.addEventListener('visibilitychange', update);
|
|
||||||
|
|
||||||
function actionLogin(form) {
|
function actionLogin(form) {
|
||||||
window.localStorage.setItem(`${CLIENT}/username`, form.username.value);
|
window.localStorage.setItem(`${CLIENT}/username`, form.username.value);
|
||||||
window.localStorage.setItem(`${CLIENT}/password`, form.password.value);
|
window.localStorage.setItem(`${CLIENT}/password`, form.password.value);
|
||||||
|
Reference in New Issue
Block a user