Fix: only check browserLanguage if navigator is defined; fixes tests

This commit is contained in:
Pieter Vander Vennet 2023-06-07 00:15:04 +02:00
parent 215286a5af
commit a1fa3b4942

View file

@ -1,7 +1,7 @@
import { UIEventSource } from "../../Logic/UIEventSource" import {UIEventSource} from "../../Logic/UIEventSource"
import { LocalStorageSource } from "../../Logic/Web/LocalStorageSource" import {LocalStorageSource} from "../../Logic/Web/LocalStorageSource"
import { Utils } from "../../Utils" import {Utils} from "../../Utils"
import { QueryParameters } from "../../Logic/Web/QueryParameters" import {QueryParameters} from "../../Logic/Web/QueryParameters"
export default class Locale { export default class Locale {
public static showLinkToWeblate: UIEventSource<boolean> = new UIEventSource<boolean>(false) public static showLinkToWeblate: UIEventSource<boolean> = new UIEventSource<boolean>(false)
@ -12,7 +12,10 @@ export default class Locale {
public static language: UIEventSource<string> = Locale.setup() public static language: UIEventSource<string> = Locale.setup()
private static setup() { private static setup() {
const browserLanguage =navigator.languages?.[0] ?? navigator.language ?? "en" let browserLanguage = "en"
if (typeof navigator !== "undefined") {
browserLanguage = navigator.languages?.[0] ?? navigator.language ?? "en"
}
const source = LocalStorageSource.Get("language", browserLanguage) const source = LocalStorageSource.Get("language", browserLanguage)
if (!Utils.runningFromConsole) { if (!Utils.runningFromConsole) {
// @ts-ignore // @ts-ignore
@ -20,7 +23,7 @@ export default class Locale {
source.setData(language) source.setData(language)
} }
} }
if(QueryParameters.wasInitialized("language")){ if (QueryParameters.wasInitialized("language")) {
const qp = QueryParameters.GetQueryParameter( const qp = QueryParameters.GetQueryParameter(
"language", "language",
undefined, undefined,