+
- {translate('INDEX.DIRECTION')} |
- {translate('INDEX.CONFIRMATIONS')} |
- {translate('INDEX.AMOUNT')} |
- {translate('INDEX.TIME')} |
- {translate('INDEX.DEST_ADDRESS')} |
- {translate('INDEX.TX_DETAIL')} |
+ { translate('INDEX.DIRECTION') } |
+ { translate('INDEX.CONFIRMATIONS') } |
+ { translate('INDEX.AMOUNT') } |
+ { translate('INDEX.TIME') } |
+ { translate('INDEX.DEST_ADDRESS') } |
+ { translate('INDEX.TX_DETAIL') } |
- {this.renderTxHistoryList()}
+ { this.renderTxHistoryList() }
- {translate('INDEX.DIRECTION')} |
- {translate('INDEX.CONFIRMATIONS')} |
- {translate('INDEX.AMOUNT')} |
- {translate('INDEX.TIME')} |
- {translate('INDEX.DEST_ADDRESS')} |
- {translate('INDEX.TX_DETAIL')} |
+ { translate('INDEX.DIRECTION') } |
+ { translate('INDEX.CONFIRMATIONS') } |
+ { translate('INDEX.AMOUNT') } |
+ { translate('INDEX.TIME') } |
+ { translate('INDEX.DEST_ADDRESS') } |
+ { translate('INDEX.TX_DETAIL') } |
- {this.renderPagination()}
+ { this.renderPagination() }
diff --git a/react/src/components/dashboard/walletsNativeSend.js b/react/src/components/dashboard/walletsNativeSend.js
index 523f55b..e48c920 100644
--- a/react/src/components/dashboard/walletsNativeSend.js
+++ b/react/src/components/dashboard/walletsNativeSend.js
@@ -298,7 +298,7 @@ class WalletsNativeSend extends React.Component {
onChange={ this.updateInput }
value={ this.state.sendTo }
id="kmd_wallet_sendto"
- placeholder="{ translate('SEND.ENTER_T_OR_Z_ADDR') }"
+ placeholder={ translate('SEND.ENTER_T_OR_Z_ADDR') }
autoComplete="off"
required />
diff --git a/react/src/components/dashboard/walletsNativeSyncProgress.js b/react/src/components/dashboard/walletsNativeSyncProgress.js
index abce78d..50942fc 100644
--- a/react/src/components/dashboard/walletsNativeSyncProgress.js
+++ b/react/src/components/dashboard/walletsNativeSyncProgress.js
@@ -61,11 +61,24 @@ class WalletsNativeSyncProgress extends React.Component {
return(': ' + Math.floor(currentBestChain * 100 / this.props.Dashboard.progress.remoteKMDNode.blocks) + '% (blocks ' + currentBestChain + ' / ' + this.props.Dashboard.progress.remoteKMDNode.blocks + ')');
} else {
- return (...);
+ return (
+ ...
+ );
}
}
}
+ renderLB(_translationID) {
+ const _translationComponents = translate(_translationID).split('
');
+
+ return _translationComponents.map((_translation) =>
+
+ {_translation}
+
+
+ );
+ }
+
renderChainActivationNotification() {
if ((this.props.Dashboard.progress.blocks < this.props.Dashboard.progress.longestchain) ||
this.props.Dashboard.progress.remoteKMDNode) {
@@ -81,7 +94,7 @@ class WalletsNativeSyncProgress extends React.Component {
{ translate('INDEX.ACTIVATING_CHAIN') }{ this.renderActivatingBestChainProgress() }
- { translate('INDEX.KMD_STARTED') }
+ { this.renderLB('INDEX.KMD_STARTED') }
);
} else {
diff --git a/react/src/components/dashboard/walletsNativeTxHistory.js b/react/src/components/dashboard/walletsNativeTxHistory.js
index b0db73f..6eac76e 100644
--- a/react/src/components/dashboard/walletsNativeTxHistory.js
+++ b/react/src/components/dashboard/walletsNativeTxHistory.js
@@ -25,6 +25,19 @@ class WalletsNativeTxHistory extends React.Component {
Store.dispatch(toggleDashboardTxInfoModal(display, txIndex));
}
+ isFullySynced() {
+ if (this.props.Dashboard.progress &&
+ this.props.Dashboard.progress.balances &&
+ (Number(this.props.Dashboard.progress.balances) +
+ Number(this.props.Dashboard.progress.validated) +
+ Number(this.props.Dashboard.progress.bundles) +
+ Number(this.props.Dashboard.progress.utxo)) / 4 === 100) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
updateInput(e) {
let historyToSplit = sortByDate(this.props.ActiveCoin.txhistory);
historyToSplit = historyToSplit.slice(0, e.target.value);
@@ -202,7 +215,11 @@ class WalletsNativeTxHistory extends React.Component {
} else if (
this.props.ActiveCoin.txhistory &&
this.props.ActiveCoin.txhistory === 'loading') {
- return translate('INDEX.LOADING_HISTORY');
+ if (this.isFullySynced()) {
+ return translate('INDEX.LOADING_HISTORY');
+ } else {
+ return translate('INDEX.WAIT_UNTIL_SYNCED');
+ }
} else if (
this.props.ActiveCoin.txhistory &&
(this.props.ActiveCoin.txhistory !== 'loading' && this.props.ActiveCoin.txhistory !== 'no data')) {
diff --git a/react/src/translate/en.js b/react/src/translate/en.js
index 2809aa9..664aa77 100644
--- a/react/src/translate/en.js
+++ b/react/src/translate/en.js
@@ -1,10 +1,16 @@
export const _lang = {
'EN': {
'INDEX': {
+ 'STOP': 'Stop',
+ 'START': 'Start',
+ 'UPDATE_UTXO': 'Update UTXO',
+ 'ACTIVE_ADDRESS': 'active address',
+ 'FETCH_ALL_ADDR': 'Fetch (all addresses)',
'NO_DATA': 'No history available',
'LOADING_HISTORY': 'Loading transaction history',
'FETCHING_NOTARIES_LIST': 'Fetching notaries list data',
'TOTAL_NOTARIES': 'Notaries list. Total nodes count',
+ 'WAIT_UNTIL_SYNCED': 'Transactions history will be available shortly after blockchain data is synced',
'CLOSE': 'Close',
'SHOW': 'Show',
'SHOWING': 'Showing',
@@ -341,7 +347,9 @@ export const _lang = {
'ADDED_TO': 'added to',
'SUCCESSFULLY': 'Successfully',
'FAILED_TO_ADDCOIN': 'Failed to add iguana coin',
- 'FAILED_SHEPHERD_HERD': 'Failed to get execute shepherd herd'
+ 'FAILED_SHEPHERD_HERD': 'Failed to get execute shepherd herd',
+ 'COIN_SELECTION': 'Coin Selection',
+ 'SELECTION_NOT_FOUND': 'Local coin list is not found'
},
'COIN_WALLETS': {
'TX_FAILED': 'Transaction Failed',
@@ -363,7 +371,8 @@ export const _lang = {
'FAILED': 'Failed',
'SUCCESS': 'Success',
'MESSAGE': 'Message',
- 'EXECUTION_SECONDS': 'Execution Seconds'
+ 'EXECUTION_SECONDS': 'Execution Seconds',
+ 'WAIT_UNTIL_SYNCED': 'Transaction history is unavailable during synchronization progresss'
},
'LOGIN': {
'PWD_REQ': 'Password is required.',