add language selector to admin

This commit is contained in:
Harvey Tindall
2021-01-15 14:43:32 +00:00
parent a3351f4da8
commit 4679c6f355
6 changed files with 40 additions and 24 deletions
+2 -3
View File
@@ -1,5 +1,5 @@
import { toggleTheme, loadTheme } from "./modules/theme.js";
import { lang, LangFile } from "./modules/lang.js";
import { lang, LangFile, loadLangSelector } from "./modules/lang.js";
import { Modal } from "./modules/modal.js";
import { Tabs } from "./modules/tabs.js";
import { inviteList, createInvite } from "./modules/invites.js";
@@ -11,9 +11,8 @@ import { _get, _post, notificationBox, whichAnimationEvent, toggleLoader } from
loadTheme();
(document.getElementById('button-theme') as HTMLSpanElement).onclick = toggleTheme;
var langLoaded = false;
window.lang = new lang(window.langFile as LangFile);
loadLangSelector("admin");
// _get(`/lang/admin/${window.language}.json`, null, (req: XMLHttpRequest) => {
// if (req.readyState == 4 && req.status == 200) {
// langLoaded = true;
+2 -17
View File
@@ -1,5 +1,6 @@
import { Modal } from "./modules/modal.js";
import { _get, _post, toggleLoader } from "./modules/common.js";
import { loadLangSelector } from "./modules/lang.js";
interface formWindow extends Window {
validationStrings: pwValStrings;
@@ -22,23 +23,7 @@ interface pwValStrings {
[ type: string ]: pwValString;
}
_get("/lang", null, (req: XMLHttpRequest) => {
if (req.readyState == 4) {
if (req.status != 200) {
document.getElementById("lang-dropdown").remove();
return;
}
const list = document.getElementById("lang-list") as HTMLDivElement;
let innerHTML = '';
for (let code in req.response) {
innerHTML += `<a href="?lang=${code}" class="button input ~neutral field mb-half">${req.response[code]}</a>`;
}
list.innerHTML = innerHTML;
}
});
loadLangSelector("form");
window.modal = new Modal(document.getElementById("modal-success"));
declare var window: formWindow;
+16 -1
View File
@@ -1,3 +1,5 @@
import { _get } from "../modules/common.js";
interface Meta {
name: string;
}
@@ -45,7 +47,20 @@ export class lang implements Lang {
}
}
export const loadLangSelector = (page: string) => _get("/lang/" + page, null, (req: XMLHttpRequest) => {
if (req.readyState == 4) {
if (req.status != 200) {
document.getElementById("lang-dropdown").remove();
return;
}
const list = document.getElementById("lang-list") as HTMLDivElement;
let innerHTML = '';
for (let code in req.response) {
innerHTML += `<a href="?lang=${code}" class="button input ~neutral field mb-half">${req.response[code]}</a>`;
}
list.innerHTML = innerHTML;
}
});