20 .form-item-content .select {
26 <MenuPage :title="$t('setting.title')">
29 <p>{{ $t("setting.lang") }}</p>
31 <div class="form-item setting">
32 <v-select style="height: 32px;" class="select" :value="selected" :clearable="false" :onChange="changeLanguage" :options="i18nOptions"></v-select>
37 <p>{{ $t("setting.unit") }}</p>
39 <div class="form-item setting">
40 <v-select style="height: 32px;" class="select" :value="unit" :clearable="false" :options="['BTM']"></v-select>
45 <p>{{ $t("main.network") }}</p>
47 <div class="form-item setting">
48 <v-select style="height: 32px;" class="select" :value="network" :clearable="false" :options="networks" :onChange="networkToggle"></v-select>
53 <p>{{ $t("setting.currency") }}</p>
55 <div class="form-item setting">
56 <v-select style="height: 32px;" class="select" :value="currentCurrency" :clearable="false" :options="currencyList" :onChange="currencyToggle"></v-select>
63 import { have } from "@/assets/language";
64 import account from "@/models/account";
65 import * as Actions from '@/store/constants';
66 import { mapActions, mapGetters, mapState } from 'vuex'
73 network: { label: this.$t('main.mainNet'), value: "mainnet" },
76 { label: "中文", value: "cn" },
77 { label: "English", value: "en" }
80 { label: this.$t('main.mainNet'), value: "mainnet" },
81 { label: this.$t('main.testNet'), value: "testnet" },
82 { label: this.$t('main.soloNet'), value: "solonet" }
84 selected: { label: "中文", value: "cn" },
86 currentCurrency: { label: "CNY", value: "in_cny" },
88 { label: "CNY", value: "in_cny" },
89 { label: "USD", value: "in_usd" },
90 { label: "BTC", value: "in_btc" }
106 changeLanguage(lang){
107 const bytom = this.bytom.clone();
109 if (bytom.settings.language != lang.value) {
110 bytom.settings.language = lang.value;
111 this.$i18n.locale = lang.value;
112 this.selected = lang;
113 this[Actions.UPDATE_STORED_BYTOM](bytom)
116 networkToggle: function (val) {
117 const bytom = this.bytom.clone();
119 if (bytom.settings.network != val.value) {
120 bytom.settings.network = val.value;
122 account.setupNet(`${val.value}bytom`);
124 bytom.currentAccount = {}
128 bytom.accountList = accounts;
129 if (accounts.length > 0) {
130 bytom.currentAccount = accounts[0];
133 this[Actions.UPDATE_STORED_BYTOM](bytom)
136 bytom.accountList =[]
137 this[Actions.UPDATE_STORED_BYTOM](bytom)
141 currencyToggle: function (val) {
142 const bytom = this.bytom.clone();
144 if (bytom.settings.currency != val.value) {
145 bytom.settings.currency = val.value;
146 this.currentCurrency = val;
147 this[Actions.UPDATE_STORED_BYTOM](bytom)
150 refreshAccounts: function () {
151 account.list().then(accounts => {
152 this.accounts = accounts;
153 if (accounts.length == 0) {
157 this.currentAccount = accounts[0];
160 setupNetwork(network) {
161 this.network = network;
164 Actions.UPDATE_STORED_BYTOM,
167 mounted: function () {
168 this.hashVersion = version.hash;
169 if (have(this.language)) {
170 if (this.language == "cn") {
171 this.selected = { label: "中文", value: "cn" };
172 } else if (this.language == "en") {
173 this.selected = { label: "English", value: "en" };
180 network = this.networks[0]
183 network = this.networks[1]
186 network = this.networks[2]
189 this.setupNetwork(network);
193 switch(this.currency){
195 this.currentCurrency = this.currencyList[0]
198 this.currentCurrency = this.currencyList[1]
201 this.currentCurrency = this.currencyList[2]