mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-02-11 17:55:51 +00:00
Merge pull request #256 from QuickMythril/connected-server
Display connected server in wallets
This commit is contained in:
commit
0d67a27591
@ -48,6 +48,8 @@ class MultiWallet extends LitElement {
|
|||||||
isTextMenuOpen: { type: Boolean },
|
isTextMenuOpen: { type: Boolean },
|
||||||
wallets: { type: Map },
|
wallets: { type: Map },
|
||||||
_selectedWallet: 'qort',
|
_selectedWallet: 'qort',
|
||||||
|
nodeConfig: { type: Object },
|
||||||
|
nodeDomain: { type: String },
|
||||||
theme: { type: String, reflect: true },
|
theme: { type: String, reflect: true },
|
||||||
amount: { type: Number },
|
amount: { type: Number },
|
||||||
recipient: { type: String },
|
recipient: { type: String },
|
||||||
@ -74,6 +76,12 @@ class MultiWallet extends LitElement {
|
|||||||
isValidAmount: { type: Boolean },
|
isValidAmount: { type: Boolean },
|
||||||
balance: { type: Number },
|
balance: { type: Number },
|
||||||
balanceString: { type: String },
|
balanceString: { type: String },
|
||||||
|
btcServer: { type: Number },
|
||||||
|
ltcServer: { type: Number },
|
||||||
|
dogeServer: { type: Number },
|
||||||
|
dgbServer: { type: Number },
|
||||||
|
rvnServer: { type: Number },
|
||||||
|
arrrServer: { type: Number },
|
||||||
qortPaymentFee: { type: Number },
|
qortPaymentFee: { type: Number },
|
||||||
btcFeePerByte: { type: Number },
|
btcFeePerByte: { type: Number },
|
||||||
ltcFeePerByte: { type: Number },
|
ltcFeePerByte: { type: Number },
|
||||||
@ -741,6 +749,8 @@ class MultiWallet extends LitElement {
|
|||||||
this.isTextMenuOpen = false
|
this.isTextMenuOpen = false
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
|
||||||
|
this.nodeConfig = {}
|
||||||
|
this.nodeDomain = ''
|
||||||
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light';
|
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light';
|
||||||
|
|
||||||
this.qortBook = []
|
this.qortBook = []
|
||||||
@ -774,6 +784,12 @@ class MultiWallet extends LitElement {
|
|||||||
this.arrrMemo = ''
|
this.arrrMemo = ''
|
||||||
this.arrrWalletAddress = ''
|
this.arrrWalletAddress = ''
|
||||||
this.unusedWalletAddress = ''
|
this.unusedWalletAddress = ''
|
||||||
|
this.btcServer = ''
|
||||||
|
this.ltcServer = ''
|
||||||
|
this.dogeServer = ''
|
||||||
|
this.dgbServer = ''
|
||||||
|
this.rvnServer = ''
|
||||||
|
this.arrrServer = ''
|
||||||
this.errorMessage = ''
|
this.errorMessage = ''
|
||||||
this.successMessage = ''
|
this.successMessage = ''
|
||||||
this.myElementId = ''
|
this.myElementId = ''
|
||||||
@ -967,6 +983,8 @@ class MultiWallet extends LitElement {
|
|||||||
${this.balanceString}
|
${this.balanceString}
|
||||||
</span>
|
</span>
|
||||||
<br>
|
<br>
|
||||||
|
<span class="server-address">${this.getSelectedWalletServer()}</span>
|
||||||
|
<br>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="send-pos" ?hidden="${this.getSelectedWalletAddress().length < 1}">
|
<div class="send-pos" ?hidden="${this.getSelectedWalletAddress().length < 1}">
|
||||||
${this.renderSendButton()}
|
${this.renderSendButton()}
|
||||||
@ -4652,7 +4670,9 @@ class MultiWallet extends LitElement {
|
|||||||
}
|
}
|
||||||
const coin = this._selectedWallet
|
const coin = this._selectedWallet
|
||||||
await this.fetchWalletAddress(this._selectedWallet)
|
await this.fetchWalletAddress(this._selectedWallet)
|
||||||
|
await this.fetchWalletServer(this._selectedWallet)
|
||||||
await this.fetchWalletDetails(this._selectedWallet)
|
await this.fetchWalletDetails(this._selectedWallet)
|
||||||
|
await this.fetchWalletServer(this._selectedWallet)
|
||||||
if (this._selectedWallet == coin) {
|
if (this._selectedWallet == coin) {
|
||||||
await this.renderTransactions()
|
await this.renderTransactions()
|
||||||
await this.getTransactionGrid(this._selectedWallet)
|
await this.getTransactionGrid(this._selectedWallet)
|
||||||
@ -4960,6 +4980,106 @@ class MultiWallet extends LitElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getSelectedWalletServer() {
|
||||||
|
switch (this._selectedWallet) {
|
||||||
|
case "qort":
|
||||||
|
return this.nodeDomain
|
||||||
|
|
||||||
|
case "btc":
|
||||||
|
return this.btcServer
|
||||||
|
|
||||||
|
case "ltc":
|
||||||
|
return this.ltcServer
|
||||||
|
|
||||||
|
case "doge":
|
||||||
|
return this.dogeServer
|
||||||
|
|
||||||
|
case "dgb":
|
||||||
|
return this.dgbServer
|
||||||
|
|
||||||
|
case "rvn":
|
||||||
|
return this.rvnServer
|
||||||
|
|
||||||
|
case "arrr":
|
||||||
|
return this.arrrServer
|
||||||
|
|
||||||
|
default:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async fetchWalletServer(coin) {
|
||||||
|
if (coin == 'qort') {
|
||||||
|
this.getNodeConfig()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let walletServer = ''
|
||||||
|
try {
|
||||||
|
const serverInfo = await parentEpml.request('apiCall', {
|
||||||
|
type: 'api',
|
||||||
|
/* TODO */
|
||||||
|
url: `/crosschain/${coin}/serverinfos`,
|
||||||
|
// TODO when 'current' parameter is added to 'serverinfos' API call, change above line to:
|
||||||
|
// url: `/crosschain/${coin}/serverinfos?current=true`,
|
||||||
|
})
|
||||||
|
/* TODO */
|
||||||
|
let currentServerFound = false
|
||||||
|
for (const server of serverInfo.servers) {
|
||||||
|
if (server.isCurrent === true) {
|
||||||
|
walletServer = `${server.hostName}:${server.port}`
|
||||||
|
currentServerFound = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!currentServerFound) {
|
||||||
|
walletServer = 'Not Connected'
|
||||||
|
}
|
||||||
|
// TODO when 'current' parameter is added to 'serverinfos' API call, change above 'let,for,if' sections to:
|
||||||
|
/*if (serverInfo.servers[0]) {
|
||||||
|
const currentServerInfo = `${serverInfo.servers[0].hostName}:${serverInfo.servers[0].port}`
|
||||||
|
walletServer = currentServerInfo
|
||||||
|
} else {
|
||||||
|
walletServer = 'Not Connected'
|
||||||
|
}*/
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to fetch server info:', error)
|
||||||
|
walletServer = `Error fetching server: ${error}`
|
||||||
|
}
|
||||||
|
switch (coin) {
|
||||||
|
case "btc":
|
||||||
|
this.btcServer = walletServer
|
||||||
|
break
|
||||||
|
case "ltc":
|
||||||
|
this.ltcServer = walletServer
|
||||||
|
break
|
||||||
|
case "doge":
|
||||||
|
this.dogeServer = walletServer
|
||||||
|
break
|
||||||
|
case "dgb":
|
||||||
|
this.dgbServer = walletServer
|
||||||
|
break
|
||||||
|
case "rvn":
|
||||||
|
this.rvnServer = walletServer
|
||||||
|
break
|
||||||
|
case "arrr":
|
||||||
|
this.arrrServer = walletServer
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getNodeConfig() {
|
||||||
|
this.nodeConfig = {}
|
||||||
|
this.nodeDomain = ""
|
||||||
|
parentEpml.request("getNodeConfig").then((res) => {
|
||||||
|
this.nodeConfig = res
|
||||||
|
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
|
||||||
|
this.nodeDomain = myNode.domain + ":" + myNode.port
|
||||||
|
})
|
||||||
|
setTimeout(getNodeConfig, 60000)
|
||||||
|
}
|
||||||
|
|
||||||
async getTransactionGrid(coin) {
|
async getTransactionGrid(coin) {
|
||||||
this.transactionsGrid = this.shadowRoot.querySelector(`#${coin}TransactionsGrid`)
|
this.transactionsGrid = this.shadowRoot.querySelector(`#${coin}TransactionsGrid`)
|
||||||
if (coin === 'qort') {
|
if (coin === 'qort') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user