X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FLanguage.vue;h=d35d8e21fda29bac5e209c58d681e96f0927cd2d;hb=dac395887d96e2d642b209c6db6aaacc3ffacb34;hp=fc30562057a1ba893b9f4c1d371178b6a2307722;hpb=c66a829b3770122fe0ff2fb9db8def9635bbc334;p=vchess.git diff --git a/client/src/components/Language.vue b/client/src/components/Language.vue index fc305620..d35d8e21 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") + div(role="dialog" data-checkbox="modalLang") #language.card label.modal-close(for="modalLang") - form + form(@change="setLanguage") fieldset label(for="langSelect") {{ st.tr["Language"] }} select#langSelect each language,langCode in langName - option(value=langCode selected=(lang==langCode)) + option(value=langCode) =language @@ -28,11 +28,18 @@ export default { 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); }, - }, + }, };