fixes and improved language selector

This commit is contained in:
MathMan05 2024-11-12 14:54:18 -06:00
parent 9dc7637ee9
commit d38276b028
5 changed files with 29 additions and 34 deletions

View file

@ -25,6 +25,7 @@ class I18n{
} }
this.lang=lang; this.lang=lang;
this.translations=translations; this.translations=translations;
res(); res();
} }
static getTranslation(msg:string,...params:string[]):string{ static getTranslation(msg:string,...params:string[]):string{
@ -118,4 +119,4 @@ if(storage){
} }
I18n.create(userLocale); I18n.create(userLocale);
export{I18n}; export{I18n,langmap};

View file

@ -16,7 +16,7 @@
</head> </head>
<body class="no-theme"> <body class="no-theme">
<script src="/index.js" type="module"></script>
<div id="loading" class="loading"> <div id="loading" class="loading">
<div class="centeritem"> <div class="centeritem">
@ -98,5 +98,5 @@
</div> </div>
</div> </div>
</body> </body>
<script src="/index.js" type="module"></script>
</html> </html>

View file

@ -7,13 +7,6 @@ import{ File }from"./file.js";
import { I18n } from "./i18n.js"; import { I18n } from "./i18n.js";
(async ()=>{ (async ()=>{
async function waitForLoad(): Promise<void>{
return new Promise(resolve=>{
document.addEventListener("DOMContentLoaded", _=>resolve());
});
}
await waitForLoad();
await I18n.done await I18n.done
const users = getBulkUsers(); const users = getBulkUsers();
if(!users.currentuser){ if(!users.currentuser){

View file

@ -12,7 +12,7 @@ import{ getTextNodeAtPosition, MarkDown, saveCaretPosition }from"./markdown.js";
import { Bot } from "./bot.js"; import { Bot } from "./bot.js";
import { Role } from "./role.js"; import { Role } from "./role.js";
import { VoiceFactory } from "./voice.js"; import { VoiceFactory } from "./voice.js";
import { I18n } from "./i18n.js"; import { I18n, langmap } from "./i18n.js";
const wsCodesRetry = new Set([4000,4001,4002, 4003, 4005, 4007, 4008, 4009]); const wsCodesRetry = new Set([4000,4001,4002, 4003, 4005, 4007, 4008, 4009]);
@ -1453,7 +1453,7 @@ class Localuser{
security.addSelect(I18n.getTranslation("localuser.language"),(e)=>{ security.addSelect(I18n.getTranslation("localuser.language"),(e)=>{
I18n.setLanguage(I18n.options()[e]); I18n.setLanguage(I18n.options()[e]);
},I18n.options(),{ },[...langmap.values()],{
defaultIndex:I18n.options().indexOf(I18n.lang) defaultIndex:I18n.options().indexOf(I18n.lang)
}); });
{ {

View file

@ -4,7 +4,27 @@ import { I18n } from "./i18n.js";
const mobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); const mobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
const iOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); const iOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
let instances:
| {
name: string;
description?: string;
descriptionLong?: string;
image?: string;
url?: string;
display?: boolean;
online?: boolean;
uptime: { alltime: number; daytime: number; weektime: number };
urls: {
wellknown: string;
api: string;
cdn: string;
gateway: string;
login?: string;
};
}[]
| null;
const datalist = document.getElementById("instances");
console.warn(datalist);
const instancefetch=fetch("/instances.json") const instancefetch=fetch("/instances.json")
.then(res=>res.json()) .then(res=>res.json())
.then( .then(
@ -70,25 +90,7 @@ function setTheme(){
} }
document.body.className = name + "-theme"; document.body.className = name + "-theme";
} }
let instances:
| {
name: string;
description?: string;
descriptionLong?: string;
image?: string;
url?: string;
display?: boolean;
online?: boolean;
uptime: { alltime: number; daytime: number; weektime: number };
urls: {
wellknown: string;
api: string;
cdn: string;
gateway: string;
login?: string;
};
}[]
| null;
(async ()=>{ (async ()=>{
await I18n.done await I18n.done
@ -686,8 +688,7 @@ export{
adduser, adduser,
}; };
const datalist = document.getElementById("instances");
console.warn(datalist);
export function getInstances(){ export function getInstances(){
return instances; return instances;
} }