X-Git-Url: https://git.auder.net/pieces/Checkered/cq.svg?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FLanguage.vue;h=633f89ddaa32d1440e2bd4e647036fd8267fe7cd;hb=20620465247585ed4e845885c4d9fee8cd6920c1;hp=fc30562057a1ba893b9f4c1d371178b6a2307722;hpb=c66a829b3770122fe0ff2fb9db8def9635bbc334;p=vchess.git diff --git a/client/src/components/Language.vue b/client/src/components/Language.vue index fc305620..633f89dd 100644 --- a/client/src/components/Language.vue +++ b/client/src/components/Language.vue @@ -7,15 +7,18 @@ 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 +28,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); - }, - }, + } + } };