display:flex;
}
.topbar .topbar-left {
- width: 85px;
+ width: 87px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 20px;
border: 2px solid #fff;
border-radius: 18px;
- padding: 0 10px;
+ padding: 0 20px;
font: 12px system-ui;
text-align: center;
-}
-
-.topbar-middle .lamp {
- display: inline-block;
- width: 6px;
- height: 6px;
- border-radius: 50%;
- background-color: #02f823;
- margin-right: 2px;
- position: relative;
- top: -2px;
+ display: flex;
+ align-items: center;
}
.content {
.btn-send-transfer .btn {
width: 160px;
height: 48px;
- line-height: 27px;
+ line-height: 23px;
font-size: 16px;
}
.transactions {
font-size: 15px;
height: 340px;
- overflow: scroll;
+ overflow: auto;
}
.list-item {
position: relative;
<i class="iconfont icon-menu"></i>
</a>
</div>
- <div class="topbar-middle bg-secondary">
- <i class="lamp"></i>
- <select v-model="network" @change="networkToggle">
- <option value="mainnet">{{ $t('main.mainNet') }}</option>
- <option value="testnet">{{ $t('main.testNet') }}</option>
- <option value="solonet">{{ $t('main.soloNet') }}</option>
- </select>
- </div>
+ <!--<div class="topbar-middle bg-secondary">-->
+ <!--<select v-model="network" @change="networkToggle">-->
+ <!--<option value="mainnet">{{ $t('main.mainNet') }}</option>-->
+ <!--<option value="testnet">{{ $t('main.testNet') }}</option>-->
+ <!--<option value="solonet">{{ $t('main.soloNet') }}</option>-->
+ <!--<option value="vaporTestnet">{{ $t('main.vaporTestnet') }}</option>-->
+ <!--</select>-->
+ <!--</div>-->
</div>
<div class="content">
<div v-if="currentAccount.address!=undefined" class="amount color-white">
import account from "@/models/account";
import transaction from "@/models/transaction";
import { BTM } from "@/utils/constants";
+import { mapGetters, mapState } from 'vuex'
const EnterActive = 'animated faster fadeInLeft';
const LeaveActive = 'animated faster fadeOutLeft';
name: "",
data() {
return {
- network: "mainnet",
- accounts: [],
- currentAccount: {},
transactions: [],
maskShow: false,
start: 0,
},
currentAccount(newVal, oldVal) {
if (newVal.guid == undefined){
- localStorage.currentAccount = {}
return;
}
- localStorage.currentAccount = JSON.stringify(newVal);
this.refreshTransactions(newVal.guid, newVal.address).then(transactions => {
this.transactions = transactions
});
},
- 'currentAccount.guid'(guid) {
- if (guid == undefined) return;
-
- this.refreshBalance(guid);
- }
},
computed: {
shortAddress: function () {
return address.short(this.currentAccount.address)
},
accountBalance: function () {
- return this.currentAccount.balance != 0 ? this.currentAccount.balance : '0.00'
- }
+ let balance
+ const balances = this.currentAccount.balances
+ if(balances.length >0 ){
+ const balanceObject = balances.filter(b => b.asset === BTM)[0]
+ balance = balanceObject.balance/Math.pow(10,balanceObject.decimals)
+ }
+ return (balance != null && balance != 0) ? balance : '0.00'
+ },
+ ...mapState([
+ 'bytom'
+ ]),
+ ...mapGetters([
+ 'currentAccount',
+ 'accountList',
+ 'net'
+ ])
},
methods: {
setupRefreshTimer() {
- // todo refresh all accounts
-
setInterval(() => {
this.refreshBalance(this.currentAccount.guid)
}, 10000)
},
setupNetwork() {
- this.network = localStorage.bytomNet;
- account.setupNet(this.network);
+ account.setupNet(this.net);
},
networkToggle: function (val) {
localStorage.bytomNet = this.network;
this.refreshAccounts();
},
showQrcode: function () {
- this.$router.push({ name: 'received', params: { address: this.currentAccount.address } })
+ this.$router.push('received')
},
openMenu: function () {
- this.$router.push({ name: 'menu', params: { accounts: this.accounts, selected: this.currentAccount } })
+ this.$router.push('menu')
},
transferOpen: function () {
- this.$router.push({ name: 'transfer', params: { account: this.currentAccount } })
+ this.$router.push('transfer')
},
handleScroll(vertical, horizontal, nativeEvent) {
if (vertical.process == 0) {
});
}
},
- refreshAccounts: function () {
- account.list().then(accounts => {
- this.accounts = accounts;
- if (accounts.length == 0) {
- return;
- }
-
- if (this.currentAccount.guid == undefined) {
- this.currentAccount = accounts[0];
- }
- })
- },
refreshBalance: function (guid) {
- account.balance(guid).then(balance => {
- this.currentAccount.balance = balance;
- this.currentAccount = Object.assign({}, this.currentAccount);
- }).catch(error => {
+ account.balance(guid)
+ .catch(error => {
console.log(error);
});
},
refreshTransactions: function (guid, address, start, limit) {
return new Promise((resolve, reject) => {
- transaction.list(guid, address, start, limit).then(ret => {
- let transactions = ret.result.data;
+ transaction.list(guid, address, start, limit).then(transactions => {
if (transactions == null) {
return;
}
const formattedTx = this.transactionsFormat(transactions);
- console.log("formatTx", formattedTx);
resolve(formattedTx)
}).catch(error => {
console.log(error);
},
},
mounted() {
- this.currentAccount = JSON.parse(localStorage.currentAccount);
this.setupNetwork();
this.setupRefreshTimer();
- this.refreshAccounts();
- }
-};
+ this.refreshTransactions(this.currentAccount.guid, this.currentAccount.address).then(transactions => {
+ this.transactions = transactions
+ });
+ },
+ };
</script>