X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fstore.js;h=52870e0af4cd505204b32eef7f2ffee30ea004ae;hb=dfa6eb760d51263b051f72d0fe968458d369f187;hp=373aa288e85fc51af391bc086fd74f05e09ec08e;hpb=6808d7a16ec1e761c6a2dffec2281c96953e4d89;p=vchess.git diff --git a/client/src/store.js b/client/src/store.js index 373aa288..52870e0a 100644 --- a/client/src/store.js +++ b/client/src/store.js @@ -13,12 +13,14 @@ export const store = { socketCloseListener: null, initialize() { ajax("/variants", "GET", res => { - this.state.variants = res.variantArray; + this.state.variants = res.variantArray.sort( + (v1,v2) => v1.name.localeCompare(v2.name)); }); let mysid = localStorage.getItem("mysid"); + // Assign mysid only once (until next time user clear browser data) if (!mysid) { mysid = getRandString(); - localStorage.setItem("mysid", mysid); //done only once (unless user clear browser data) + localStorage.setItem("mysid", mysid); } // Quick user setup using local storage: this.state.user = { @@ -34,18 +36,18 @@ export const store = { this.state.user.id = res.id; const storedId = localStorage.getItem("myid"); if (res.id > 0 && !storedId) - //user cleared localStorage + // User cleared localStorage localStorage.setItem("myid", res.id); else if (res.id == 0 && !!storedId) - //user cleared cookie + // User cleared cookie localStorage.removeItem("myid"); this.state.user.name = res.name; const storedName = localStorage.getItem("myname"); if (!!res.name && !storedName) - //user cleared localStorage + // User cleared localStorage localStorage.setItem("myname", res.name); else if (!res.name && !!storedName) - //user cleared cookie + // User cleared cookie localStorage.removeItem("myname"); this.state.user.email = res.email; this.state.user.notify = res.notify; @@ -58,9 +60,10 @@ export const store = { highlight: localStorage.getItem("highlight") == "true" }; const supportedLangs = ["en", "es", "fr"]; + const navLanguage = navigator.language.substr(0,2); this.state.lang = localStorage["lang"] || - (supportedLangs.includes(navigator.language) ? navigator.language : "en"); + (supportedLangs.includes(navLanguage) ? navLanguage : "en"); this.setTranslations(); }, updateSetting: function(propName, value) {