summary refs log tree commit diff
path: root/api/assets
diff options
context:
space:
mode:
Diffstat (limited to 'api/assets')
-rw-r--r--api/assets/autoRegister.js57
-rw-r--r--api/assets/checkLocale.js47
2 files changed, 104 insertions, 0 deletions
diff --git a/api/assets/autoRegister.js b/api/assets/autoRegister.js
new file mode 100644

index 00000000..29f93370 --- /dev/null +++ b/api/assets/autoRegister.js
@@ -0,0 +1,57 @@ + // Auto register guest account: + const prefix = [ + "mysterious", + "adventurous", + "courageous", + "precious", + "cynical", + "despicable", + "suspicious", + "gorgeous", + "lovely", + "stunning", + "based", + "keyed", + "ratioed", + "twink", + "phoned" + ]; + const suffix = [ + "Anonymous", + "Lurker", + "User", + "Enjoyer", + "Hunk", + "Top", + "Bottom", + "Sub", + "Coolstar", + "Wrestling", + "TylerTheCreator", + "Ad" + ]; + + Array.prototype.random = function () { + return this[Math.floor(Math.random() * this.length)]; + }; + + function _generateName() { + return `${prefix.random()}${suffix.random()}`; + } + + const token = JSON.parse(localStorage.getItem("token")); + if (!token && location.pathname !== "/login" && location.pathname !== "/register") { + fetch(`${window.GLOBAL_ENV.API_ENDPOINT}/auth/register`, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ username: `${_generateName()}`, consent: true }) //${Date.now().toString().slice(-4)} + }) + .then((x) => x.json()) + .then((x) => { + localStorage.setItem("token", `"${x.token}"`); + if (!window.localStorage) { + // client already loaded -> need to reload to apply the newly registered user token + location.reload(); + } + }); + } diff --git a/api/assets/checkLocale.js b/api/assets/checkLocale.js new file mode 100644
index 00000000..016d66c8 --- /dev/null +++ b/api/assets/checkLocale.js
@@ -0,0 +1,47 @@ + const localStorage = window.localStorage; + // TODO: remote auth + // window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, ""); + localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT); + localStorage.setItem( + "DeveloperOptionsStore", + `{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}` + ); + + const supportedLocales = [ + "bg", + "cs", + "da", + "de", + "el", + "en-GB", + "es-ES", + "fi", + "fr", + "hi", + "hr", + "hu", + "it", + "ja", + "ko", + "lt", + "nl", + "no", + "pl", + "pt-BR", + "ro", + "ru", + "sv-SE", + "th", + "tr", + "uk", + "vi", + "zh-CN", + "zh-TW" + ]; + + const settings = JSON.parse(localStorage.getItem("UserSettingsStore")); + if (settings && !supportedLocales.includes(settings.locale)) { + // fix client locale wrong and client not loading at all + settings.locale = "en-US"; + localStorage.setItem("UserSettingsStore", JSON.stringify(settings)); + } \ No newline at end of file