X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FLanguage.vue;h=bdfd34176d0f9c11e1c251d370690a74060b43e3;hb=6808d7a16ec1e761c6a2dffec2281c96953e4d89;hp=fc30562057a1ba893b9f4c1d371178b6a2307722;hpb=c66a829b3770122fe0ff2fb9db8def9635bbc334;p=vchess.git diff --git a/client/src/components/Language.vue b/client/src/components/Language.vue index fc305620..bdfd3417 100644 --- a/client/src/components/Language.vue +++ b/client/src/components/Language.vue @@ -7,15 +7,15 @@ div "fr": "Français", }; input#modalLang.modal(type="checkbox") - div(role="dialog") - #language.card + div(role="dialog" data-checkbox="modalLang") + .card label.modal-close(for="modalLang") - form + form(@change="setLanguage($event)") fieldset label(for="langSelect") {{ st.tr["Language"] }} select#langSelect each language,langCode in langName - option(value=langCode selected=(lang==langCode)) + option(value=langCode) =language @@ -25,14 +25,20 @@ export default { name: "my-language", data: function() { return { - st: store.state, + st: store.state }; }, - methods: { + mounted: function() { + // NOTE: better style would be in pug directly, but how? + document.querySelectorAll("#langSelect > option").forEach(opt => { + if (opt.value == this.st.lang) opt.selected = true; + }); + }, + methods: { setLanguage: function(e) { localStorage["lang"] = e.target.value; store.setLanguage(e.target.value); - }, - }, + } + } };