Apply store pattern to track global app state
[vchess.git] / client / src / components / Language.vue
CommitLineData
98db2082
BA
1<template lang="pug">
2div
3 -
4 var langName = {
5 "en": "English",
6 "es": "Español",
7 "fr": "Français",
8 };
9 input#modalLang.modal(type="checkbox")
10 div(role="dialog")
11 #language.card
12 label.modal-close(for="modalLang")
13 form
14 fieldset
c66a829b 15 label(for="langSelect") {{ st.tr["Language"] }}
98db2082
BA
16 select#langSelect
17 each language,langCode in langName
18 option(value=langCode selected=(lang==langCode))
19 =language
20</template>
21
22<script>
c66a829b 23import { store } from "@/store";
98db2082 24export default {
c66a829b
BA
25 name: "my-language",
26 data: function() {
27 return {
28 st: store.state,
29 };
30 },
98db2082 31 methods: {
98db2082
BA
32 setLanguage: function(e) {
33 localStorage["lang"] = e.target.value;
c66a829b 34 store.setLanguage(e.target.value);
98db2082
BA
35 },
36 },
37};
38</script>