Browse Source

removed aria related props

all-modes
pbca26 8 years ago
parent
commit
2d84936269
  1. 4
      react/src/actions/actionCreators.js
  2. 3
      react/src/actions/actions/nativeNewAddress.js
  3. 2
      react/src/actions/actions/nativeSend.js
  4. 4
      react/src/components/addcoin/addcoin.js
  5. 3
      react/src/components/dashboard/atomic.js
  6. 10
      react/src/components/dashboard/coinTile.js
  7. 4
      react/src/components/dashboard/coinTileItem.js
  8. 49
      react/src/components/dashboard/jumblr.js
  9. 44
      react/src/components/dashboard/navbar.js
  10. 41
      react/src/components/dashboard/notifications.js
  11. 10
      react/src/components/dashboard/receiveCoin.js
  12. 29
      react/src/components/dashboard/sendCoin.js
  13. 70
      react/src/components/dashboard/settings.js
  14. 7
      react/src/components/dashboard/syncOnly.js
  15. 12
      react/src/components/dashboard/walletsBalance.js
  16. 6
      react/src/components/dashboard/walletsBasiliskConnection.js
  17. 2
      react/src/components/dashboard/walletsBasiliskRefresh.js
  18. 9
      react/src/components/dashboard/walletsCacheData.js
  19. 80
      react/src/components/dashboard/walletsData.js
  20. 130
      react/src/components/dashboard/walletsHeader.js
  21. 6
      react/src/components/dashboard/walletsNativeAlert.js
  22. 29
      react/src/components/dashboard/walletsNativeReceive.js
  23. 28
      react/src/components/dashboard/walletsNativeSend.js
  24. 8
      react/src/components/dashboard/walletsNativeSyncProgress.js
  25. 24
      react/src/components/dashboard/walletsNativeTxHistory.js
  26. 57
      react/src/components/dashboard/walletsNativeTxInfo.js
  27. 14
      react/src/components/dashboard/walletsNav.js
  28. 4
      react/src/components/dashboard/walletsNotariesList.js
  29. 9
      react/src/components/dashboard/walletsProgress.js
  30. 30
      react/src/components/dashboard/walletsTxInfo.js
  31. 10
      react/src/components/login/login.js
  32. 2
      react/src/components/toaster/toaster-item.js
  33. 4
      react/src/components/toaster/toaster.js
  34. 4
      react/src/translate/en.js

4
react/src/actions/actionCreators.js

@ -153,7 +153,7 @@ export function basiliskConnection(display) {
export function syncingNativeModeState(display, json) {
return {
type: SYNCING_FULL_MODE,
type: SYNCING_NATIVE_MODE,
syncingNativeMode: display,
progress: json,
}
@ -161,7 +161,7 @@ export function syncingNativeModeState(display, json) {
export function syncingFullModeState(display, json) {
return {
type: SYNCING_NATIVE_MODE,
type: SYNCING_FULL_MODE,
syncingFullMode: display,
progress: json,
}

3
react/src/actions/actions/nativeNewAddress.js

@ -2,7 +2,8 @@ import { translate } from '../../translate/translate';
import {
triggerToaster,
Config,
getPassthruAgent
getPassthruAgent,
getKMDAddressesNative
} from '../actionCreators';
import {
logGuiHttp,

2
react/src/actions/actions/nativeSend.js

@ -16,7 +16,7 @@ export function sendNativeTx(coin, _payload) {
let payload;
let _apiMethod;
if (_payload.addressType === 'public') {
if (_payload.addressType === 'public' && _payload.sendTo.length !== 95) {
_apiMethod = 'sendtoaddress';
ajaxDataToHex = `["${_payload.sendTo}", ${Number(_payload.amount) - Number(_payload.fee)}]`;
} else {

4
react/src/components/addcoin/addcoin.js

@ -245,7 +245,9 @@ class AddCoin extends React.Component {
const _coin = _item.selectedCoin || '';
items.push(
<div className={ this.state.coins.length > 1 ? 'multi' : 'single' } key={ `add-coin-${i}` }>
<div
className={ this.state.coins.length > 1 ? 'multi' : 'single' }
key={ `add-coin-${i}` }>
<div className="col-sm-8">
<div className="form-group">
<select

3
react/src/components/dashboard/atomic.js

@ -342,8 +342,7 @@ class Atomic extends React.Component {
}
if (props.Atomic.response.error === 'less than required responses') {
console.log('error');
// toastr.error(_lang[defaultLang].DASHBOARD.LESS_RESPONSES_REQ, _lang[defaultLang].DASHBOARD.BASILISC_NOTIFICATION)
Store.dispatch(triggerToaster(true, 'Basilisk connection error', translate('TOASTR.SERVICE_NOTIFICATION'), 'error'));
}
}
}

10
react/src/components/dashboard/coinTile.js

@ -59,8 +59,8 @@ class CoinTile extends React.Component {
return (
<div className="page-aside padding-top-80">
<div className="page-aside-switch">
<i className="icon md-chevron-left" aria-hidden="true"></i>
<i className="icon md-chevron-right" aria-hidden="true"></i>
<i className="icon md-chevron-left"></i>
<i className="icon md-chevron-right"></i>
</div>
<div className="page-aside-inner">
<div className="search-wallet-widgets panel display-none">
@ -68,7 +68,7 @@ class CoinTile extends React.Component {
<div className="panel-actions">
<div className="input-search input-group-sm">
<button type="submit" className="input-search-btn">
<i className="icon md-search" aria-hidden="true"></i>
<i className="icon md-search"></i>
</button>
<input type="text" className="form-control" name="" placeholder="Search..." disabled />
</div>
@ -77,8 +77,8 @@ class CoinTile extends React.Component {
</div>
</div>
<div className="wallet-widgets-list">
<div data-role="container">
<div data-role="content">
<div>
<div>
<div className="list-group row wallet-widgets-row">
{ this.renderTiles() }
</div>

4
react/src/components/dashboard/coinTileItem.js

@ -36,10 +36,6 @@ class CoinTileItem extends React.Component {
// TODO: 1) cache native/full node data to file
// 2) limit amount of req per update e.g. list of addresses don't change too often
// 3) limit req in basilisk as much as possible incl. activehandle
// 4) add pending requests store
// TODO: update all addresses once in 20 min, current address every 10 min
// always fetch main addr data and current selected address
dispatchCoinActions(coin, mode) {
if (mode === 'native') {

49
react/src/components/dashboard/jumblr.js

@ -36,9 +36,9 @@ class Jumblr extends React.Component {
<div className="page-content margin-top-30" id="section-jumblr">
<div className="row" id="jumblr_dashboard">
<div className="col-xs-12" id="jumblr_testing_alert">
<div className="alert alert-danger" role="alert">
<button type="button" className="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
<div className="alert alert-danger">
<button type="button" className="close">
<span>×</span>
</button>
<span className="jumblr-header">
<i className="icon fa-paw" aria-hidden="true"></i> { translate('JUMBLR.NOTICE') }
@ -50,11 +50,11 @@ class Jumblr extends React.Component {
<div className="col-xs-12" id="jumblr_no_native_kmd_alert">
<div className="alert alert-info alert-dismissible" role="alert">
<button type="button" className="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
<button type="button" className="close">
<span>×</span>
</button>
<span className="jumblr-header">
<i className="icon fa-paw" aria-hidden="true"></i> { translate('JUMBLR.NEED_NATIVE') }
<i className="icon fa-paw"></i> { translate('JUMBLR.NEED_NATIVE') }
</span>
<br />
{ translate('JUMBLR.TO_USE_JUMBLR') }
@ -68,23 +68,17 @@ class Jumblr extends React.Component {
</div>
<div className="col-xs-12">
<div className="panel-group" id="jumber_quick_info" aria-multiselectable="true" role="tablist">
<div className="panel-group" id="jumber_quick_info">
<div className="panel">
<div
className="panel-heading"
id="jumblr_security_notes"
role="tab"
onClick={ () => this.openTab(0) }>
<a
className={ this.state.activeTab === 0 ? 'panel-title' : 'panel-title collapsed' }
aria-expanded="true"
aria-controls="jumblr_security_notes_1">{ translate('JUMBLR.FEW_SECURITY_NOTES') }</a>
<a className={ this.state.activeTab === 0 ? 'panel-title' : 'panel-title collapsed' }>{ translate('JUMBLR.FEW_SECURITY_NOTES') }</a>
</div>
<div
className={ this.state.activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
id="jumblr_security_notes_1"
aria-labelledby="jumblr_security_notes"
role="tabpanel">
id="jumblr_security_notes_1">
<div className="panel-body">
<ul>
<li>{ translate('JUMBLR.FEW_SECURITY_NOTES_DESC1') }</li>
@ -100,18 +94,12 @@ class Jumblr extends React.Component {
<div
className="panel-heading"
id="jumblr_access_funds"
role="tab"
onClick={ () => this.openTab(1) }>
<a
className={ this.state.activeTab === 1 ? 'panel-title' : 'panel-title collapsed' }
aria-expanded="false"
aria-controls="jumblr_access_funds_2">{ translate('JUMBLR.ACCESS_JUMBLR_FUNDS') }</a>
<a className={ this.state.activeTab === 1 ? 'panel-title' : 'panel-title collapsed' }>{ translate('JUMBLR.ACCESS_JUMBLR_FUNDS') }</a>
</div>
<div
className={ this.state.activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
id="jumblr_access_funds_2"
aria-labelledby="jumblr_access_funds"
role="tabpanel">
id="jumblr_access_funds_2">
<div className="panel-body">
<p>{ translate('JUMBLR.ADDRESS_ACCESSIBLE_EASILY') }</p>
<ul>
@ -140,17 +128,12 @@ class Jumblr extends React.Component {
</div>
</div>
<div className="panel">
<div className="panel-heading" id="jumblr_using_jumblr" role="tab" onClick={ () => this.openTab(2) }>
<a
className={ this.state.activeTab === 2 ? 'panel-title' : 'panel-title collapsed' }
aria-expanded="false"
aria-controls="jumblr_using_jumblr_3">{ translate('JUMBLR.USING_JUMBLR') }</a>
<div className="panel-heading" id="jumblr_using_jumblr" onClick={ () => this.openTab(2) }>
<a className={ this.state.activeTab === 2 ? 'panel-title' : 'panel-title collapsed' }>{ translate('JUMBLR.USING_JUMBLR') }</a>
</div>
<div
className={ this.state.activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
id="jumblr_using_jumblr_3"
aria-labelledby="jumblr_using_jumblr"
role="tabpanel">
id="jumblr_using_jumblr_3">
<div className="panel-body">
<ul>
<li>{ translate('JUMBLR.RUN_KMD') }</li>
@ -188,7 +171,9 @@ class Jumblr extends React.Component {
<td>BTC Jumblr</td>
<td>
<button type="button" className="btn btn-animate btn-animate-side btn-default btn-sm waves-effect waves-light jumblr_show_hide_addr_btc_btn">
<span><i className="icon fa-eye" aria-hidden="true"></i> { translate('JUMBLR.SHOW_HIDE') }</span>
<span>
<i className="icon fa-eye"></i> { translate('JUMBLR.SHOW_HIDE') }
</span>
</button>
<span
className="label label-lg label-outline label-success"

44
react/src/components/dashboard/navbar.js

@ -75,14 +75,14 @@ class Navbar extends React.Component {
render() {
return (
<nav className="site-navbar navbar navbar-default navbar-fixed-top navbar-mega" role="navigation">
<nav className="site-navbar navbar navbar-default navbar-fixed-top navbar-mega">
<div className="navbar-header">
<button type="button" className="navbar-toggle hamburger hamburger-close navbar-toggle-left hided">
<span className="sr-only">{ translate('INDEX.TOGGLE_NAV') }</span>
<span className="hamburger-bar"></span>
</button>
<button type="button" className="navbar-toggle collapsed">
<i className="icon md-more" aria-hidden="true"></i>
<i className="icon md-more"></i>
</button>
<div className="navbar-brand navbar-brand-center site-gridmenu-toggle">
<img
@ -96,14 +96,14 @@ class Navbar extends React.Component {
</div>
<button type="button" className="navbar-toggle collapsed">
<span className="sr-only">{ translate('INDEX.TOGGLE_SEARCH') }</span>
<i className="icon md-search" aria-hidden="true"></i>
<i className="icon md-search"></i>
</button>
</div>
<div className="navbar-container container-fluid">
<div className="collapse navbar-collapse navbar-collapse-toolbar" id="site-navbar-collapse">
<ul className="nav navbar-toolbar">
<li className="hidden-float display-none" id="toggleMenubar">
<a role="button">
<a>
<i className="icon hamburger hamburger-arrow-left">
<span className="sr-only">{ translate('INDEX.TOGGLE_MENUBAR') }</span>
<span className="hamburger-bar"></span>
@ -112,7 +112,7 @@ class Navbar extends React.Component {
</li>
<li className={ this.props.Dashboard.activeSection === 'wallets' ? 'active nav-top-menu' : 'nav-top-menu' }>
<a id="nav-dashboard" onClick={ () => this.dashboardChangeSection('wallets') }>
<i className="site-menu-icon" aria-hidden="true"></i> { translate('INDEX.WALLETS') }
<i className="site-menu-icon"></i> { translate('INDEX.WALLETS') }
</a>
</li>
<li className={ this.props.Dashboard.activeSection === 'edex' ? 'active nav-top-menu' : 'nav-top-menu' }>
@ -123,19 +123,18 @@ class Navbar extends React.Component {
<li
className={'display-none ' + (this.props.Dashboard.activeSection === 'jumblr' ? 'active nav-top-menu' : 'nav-top-menu') }>
<a id="nav-jumblr" onClick={ () => this.dashboardChangeSection('jumblr') }>
<i className="site-menu-icon" aria-hidden="true"></i> Jumblr
<i className="site-menu-icon"></i> Jumblr
</a>
</li>
<li className={ this.props.Dashboard.activeSection === 'atomic' ? 'active nav-top-menu' : 'nav-top-menu' }>
<a id="nav-iguana-atomic-explorer" onClick={ () => this.dashboardChangeSection('atomic') }>
<i className="site-menu-icon" aria-hidden="true"></i> Atomic Explorer
<i className="site-menu-icon"></i> Atomic Explorer
</a>
</li>
</ul>
<ul className="nav navbar-toolbar navbar-right navbar-toolbar-right">
<li role="presentation">
<a
role="menuitem"
id="btn_edexcoin_addcoin"
className="pointer padding-bottom-10 padding-top-16"
onClick={ this.toggleAddCoinModal }>
@ -145,43 +144,40 @@ class Navbar extends React.Component {
</a>
</li>
<li
className={ 'dropdown' + (this.state.openDropMenu ? ' open' : '') }
className={ 'pointer dropdown' + (this.state.openDropMenu ? ' open' : '') }
onClick={ this.openDropMenu }>
<a className="navbar-avatar dropdown-toggle" aria-expanded="false" role="button">
<a className="navbar-avatar dropdown-toggle">
<span className="avatar avatar-online">
<img src="assets/images/iguana_profile_02.jpg" alt="iguana profile pic" />
<i></i>
</span>
</a>
<ul className="dropdown-menu" role="menu">
<li role="presentation">
<ul className="dropdown-menu">
<li>
<a
role="menuitem"
id="nav-iguana-wallet-settings"
onClick={ () => this.dashboardChangeSection('settings') }>
<i className="icon md-settings" aria-hidden="true"></i> { translate('INDEX.SETTINGS') }
<i className="icon md-settings"></i> { translate('INDEX.SETTINGS') }
</a>
</li>
<li role="presentation">
<li>
<a
role="menuitem"
id="nav-iguana-sync-only"
onClick={ () => this.openSyncOnlyModal() }>
<i className="icon fa-cubes" aria-hidden="true"></i> { translate('ADD_COIN.SYNC_ONLY') }
<i className="icon fa-cubes"></i> { translate('ADD_COIN.SYNC_ONLY') }
</a>
</li>
<li role="presentation">
<li>
<a
role="menuitem"
id="nav-about-iguana"
onClick={ () => this.dashboardChangeSection('about') }>
<i className="icon fa-users" aria-hidden="true"></i> { translate('INDEX.ABOUT_IGUANA') }
<i className="icon fa-users"></i> { translate('INDEX.ABOUT_IGUANA') }
</a>
</li>
<li className="divider" role="presentation"></li>
<li role="presentation">
<a role="menuitem" id="logout-account" onClick={ this.logout }>
<i className="icon md-power" aria-hidden="true"></i> { translate('INDEX.LOGOUT') }
<li className="divider"></li>
<li>
<a id="logout-account" onClick={ this.logout }>
<i className="icon md-power"></i> { translate('INDEX.LOGOUT') }
</a>
</li>
</ul>

41
react/src/components/dashboard/notifications.js

@ -108,49 +108,37 @@ class Notifications extends React.Component {
if (this.state.displayModal) {
return (
<div onKeyDown={ (event) => this.handleKeydown(event) }>
<div className="modal show notifications-modal" aria-hidden="false" role="dialog">
<div className="modal show notifications-modal">
<div className="modal-dialog modal-center modal-lg">
<div className="modal-content">
<div className="modal-body modal-body-container">
<div className="panel nav-tabs-horizontal">
<ul className="nav nav-tabs nav-tabs-line" role="tablist">
<li className={ this.state.activeTab === 0 ? 'active' : 'pointer' } role="presentation">
<a
role="tab"
onClick={ () => this.openTab(0) }>
<i className="icon fa fa-thumbs-o-up" aria-hidden="true"></i> Success ({ this.state.calls.success })
<ul className="nav nav-tabs nav-tabs-line">
<li className={ this.state.activeTab === 0 ? 'active' : 'pointer' }>
<a onClick={ () => this.openTab(0) }>
<i className="icon fa fa-thumbs-o-up"></i> Success ({ this.state.calls.success })
</a>
</li>
<li className={ this.state.activeTab === 1 ? 'active' : 'pointer' } role="presentation">
<a
role="tab"
onClick={ () => this.openTab(1) }>
<i className="icon fa fa-exclamation-triangle" aria-hidden="true"></i> Error ({ this.state.calls.error })
<li className={ this.state.activeTab === 1 ? 'active' : 'pointer' }>
<a onClick={ () => this.openTab(1) }>
<i className="icon fa fa-exclamation-triangle"></i> Error ({ this.state.calls.error })
</a>
</li>
<li className={ this.state.activeTab === 2 ? 'active' : 'pointer' } role="presentation">
<a
role="tab"
onClick={ () => this.openTab(2) }>
<i className="icon fa fa-clock-o" aria-hidden="true"></i> Pending ({ this.state.calls.pending })
<li className={ this.state.activeTab === 2 ? 'active' : 'pointer' }>
<a onClick={ () => this.openTab(2) }>
<i className="icon fa fa-clock-o"></i> Pending ({ this.state.calls.pending })
</a>
</li>
</ul>
<div className="panel-body panel-body-container">
<div className="tab-content">
<div
className={ this.state.activeTab === 0 ? 'tab-pane active' : 'tab-pane' }
role="tabpanel">
<div className={ this.state.activeTab === 0 ? 'tab-pane active' : 'tab-pane' }>
{ this.renderNotificationsByType('success') }
</div>
<div
className={ this.state.activeTab === 1 ? 'tab-pane active' : 'tab-pane' }
role="tabpanel">
<div className={ this.state.activeTab === 1 ? 'tab-pane active' : 'tab-pane' }>
{ this.renderNotificationsByType('error') }
</div>
<div
className={ this.state.activeTab === 2 ? 'tab-pane active' : 'tab-pane' }
role="tabpanel">
<div className={ this.state.activeTab === 2 ? 'tab-pane active' : 'tab-pane' }>
{ this.renderNotificationsByType('pending') }
</div>
</div>
@ -161,7 +149,6 @@ class Notifications extends React.Component {
<button
type="button"
className="btn btn-default"
data-dismiss="modal"
onClick={ this.toggleNotificationsModal }>{ translate('INDEX.CLOSE') }</button>
</div>
</div>

10
react/src/components/dashboard/receiveCoin.js

@ -37,16 +37,17 @@ class ReceiveCoin extends React.Component {
<button
className="btn btn-default btn-xs clipboard-edexaddr margin-left-10"
id="edexcoin_active_addr_clipboard"
onClick={ () => this._copyCoinAddress(address) }><i className="icon wb-copy" aria-hidden="true"></i> { translate('INDEX.COPY') }</button>
title={ translate('INDEX.COPY_TO_CLIPBOARD') }
onClick={ () => this._copyCoinAddress(address) }><i className="icon wb-copy"></i> { translate('INDEX.COPY') }</button>
<span
className="label label-default margin-left-10 action"
title="Check"
title={ translate('INDEX.CHECK') }
onClick={ () => this._checkAddressBasilisk(address) }>
<i className="icon fa-database"></i>
</span>
<span
className="label label-default margin-left-10 action"
title="Import"
title={ translate('INDEX.VALIDATE') }
onClick={ () => this._validateAddressBasilisk(address) }>
<i className="icon fa-info-circle"></i>
</span>
@ -113,8 +114,7 @@ class ReceiveCoin extends React.Component {
<div className="col-xlg-12 col-lg-12 col-sm-12 col-xs-12">
<div className="panel">
<header className="panel-heading">
<div className="panel-actions">
</div>
<div className="panel-actions"></div>
<h4 className="panel-title">{ translate('INDEX.RECEIVING_ADDRESS') }</h4>
</header>
<div className="panel-body">

29
react/src/components/dashboard/sendCoin.js

@ -49,7 +49,7 @@ class SendCoin extends React.Component {
amount: 0,
fee: 0.0001,
sendSig: false,
sendApiType: false,
sendApiType: true,
addressSelectorOpen: false,
currentStackLength: 0,
totalStackLength: 0,
@ -218,12 +218,9 @@ class SendCoin extends React.Component {
return(
<li
data-original-index="2"
key={ mainAddress }
className={ mainAddressAmount <= 0 ? 'hide' : '' }>
<a
tabIndex="0"
onClick={ () => this.updateAddressSelection(mainAddress, type, mainAddressAmount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { mainAddressAmount } { this.props.ActiveCoin.coin } ] { mainAddress }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
<a onClick={ () => this.updateAddressSelection(mainAddress, type, mainAddressAmount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { mainAddressAmount } { this.props.ActiveCoin.coin } ] { mainAddress }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
);
} else {
@ -242,9 +239,7 @@ class SendCoin extends React.Component {
<li
key={ address.address }
className={ _amount <= 0 ? 'hide' : '' }>
<a
tabIndex="0"
onClick={ () => this.updateAddressSelection(address.address, type, _amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { _amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
<a onClick={ () => this.updateAddressSelection(address.address, type, _amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { _amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
);
}
@ -291,12 +286,13 @@ class SendCoin extends React.Component {
renderAddressList() {
return (
<div id="showkmdwalletaddrs" className={ `btn-group bootstrap-select form-control form-material showkmdwalletaddrs show-tick ${(this.state.addressSelectorOpen ? 'open' : '')}` }>
<div
id="showkmdwalletaddrs"
className={ `btn-group bootstrap-select form-control form-material showkmdwalletaddrs show-tick ${(this.state.addressSelectorOpen ? 'open' : '')}` }>
<button
type="button"
className="btn dropdown-toggle btn-info"
title={ '-' + translate('SEND.SELECT_T_OR_Z_ADDR') + '-' }
aria-expanded="true"
onClick={ this.openDropMenu }>
<span className="filter-option pull-left">{ this.renderSelectorCurrentLabel() } </span>&nbsp;
<span className="bs-caret">
@ -304,9 +300,9 @@ class SendCoin extends React.Component {
</span>
</button>
<div className="dropdown-menu open">
<ul className="dropdown-menu inner" role="menu">
<ul className="dropdown-menu inner">
<li className="selected">
<a tabIndex="0"><span className="text"> - { translate('SEND.SELECT_T_OR_Z_ADDR') } - </span><span className="glyphicon glyphicon-ok check-mark"></span></a>
<a><span className="text"> - { translate('SEND.SELECT_T_OR_Z_ADDR') } - </span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
{ this.renderAddressByType('public') }
</ul>
@ -814,8 +810,8 @@ class SendCoin extends React.Component {
</h3>
</div>
<div className="panel-body container-fluid">
<form className="edexcoin-send-form" method="post" role="form" autoComplete="off">
{this.renderSendApiTypeSelector()}
<form className="edexcoin-send-form" method="post" autoComplete="off">
{ this.renderSendApiTypeSelector() }
<div className="row">
<div className={ this.props.ActiveCoin.mode === 'basilisk' ? 'col-xlg-12 form-group form-material' : 'hide' }>
<label className="control-label" htmlFor="edexcoin_send_from">{ translate('INDEX.SEND_FROM') }</label>
@ -864,7 +860,7 @@ class SendCoin extends React.Component {
onChange={ this.updateInput } />
</div>
<div className="col-lg-12">
<span data-edexcoin="KMD">
<span>
<strong>{ translate('INDEX.TOTAL') } ({ translate('INDEX.AMOUNT_SM') } - txfee):</strong> <span id="edexcoin_total_value">{ Number(this.state.amount) - Number(this.state.fee) }</span> { this.props.ActiveCoin.coin }
</span>
</div>
@ -882,7 +878,8 @@ class SendCoin extends React.Component {
<button
type="button"
className="btn btn-primary waves-effect waves-light pull-right edexcoin_send_coins_btn_step1"
onClick={ () => this.changeSendCoinStep(1) }>
onClick={ () => this.changeSendCoinStep(1) }
disabled={ !this.state.sendFrom || !this.state.sendTo || !this.state.amount }>
{ translate('INDEX.SEND') } { Number(this.state.amount) - Number(this.state.fee) } { this.props.ActiveCoin.coin }
</button>
</div>

70
react/src/components/dashboard/settings.js

@ -126,16 +126,14 @@ class Settings extends React.Component {
if (releaseInfo) {
return (
<div className="panel" id="AppInfo" onClick={ () => this.openTab('AppInfo', 8) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={this.state.activeTab === 8 ? 'panel-title' : 'panel-title collapsed'}>
<i className="icon md-info" aria-hidden="true"></i>{ translate('SETTINGS.APP_INFO') }
<i className="icon md-info"></i>{ translate('SETTINGS.APP_INFO') }
</a>
</div>
<div
className={ this.state.activeTab === 8 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 8 ? this.state.activeTabHeight + 'px' : '0' }}
aria-labelledby="DebugLog"
role="tabpanel">
style={{ height: this.state.activeTab === 8 ? this.state.activeTabHeight + 'px' : '0' }}>
<div className="panel-body">
<div className="col-sm-12 padding-top-15">
<div className="row">
@ -351,22 +349,20 @@ class Settings extends React.Component {
<div className="row" id="iguana-wallet-settings">
<div className="col-xlg-12 col-md-12">
<h4 className="font-size-14 text-uppercase">{ translate('INDEX.WALLET_SETTINGS') }</h4>
<div className="panel-group" id="SettingsAccordion" aria-multiselectable="true" role="tablist">
<div className="panel-group" id="SettingsAccordion">
<div
className="panel"
id="WalletInfo"
onClick={ () => this.openTab('WalletInfo', 0) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={ this.state.activeTab === 0 ? 'panel-title' : 'panel-title collapsed' }>
<i className="icon md-balance-wallet" aria-hidden="true"></i>{ translate('INDEX.WALLET_INFO') }
<i className="icon md-balance-wallet"></i>{ translate('INDEX.WALLET_INFO') }
</a>
</div>
<div
className={ this.state.activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 0 ? this.state.activeTabHeight + 'px' : '0' }}
id="WalletInfoTab"
aria-labelledby="WalletInfo"
role="tabpanel">
id="WalletInfoTab">
<div className="panel-body">
<table className="table" id="wallet-info-table">
<thead>
@ -422,17 +418,15 @@ class Settings extends React.Component {
className="panel"
id="AddNodeforCoin"
onClick={ () => this.openTab('AddNodeforCoin', 1) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={ this.state.activeTab === 1 ? 'panel-title' : 'panel-title collapsed' }>
<i className="icon md-plus-square" aria-hidden="true"></i>{ translate('INDEX.ADD_NODE') }
<i className="icon md-plus-square"></i>{ translate('INDEX.ADD_NODE') }
</a>
</div>
<div
className={ this.state.activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 1 ? this.state.activeTabHeight + 'px' : '0' }}
id="AddNodeforCoinTab"
aria-labelledby="AddNodeforCoin"
role="tabpanel">
id="AddNodeforCoinTab">
<div className="panel-body">
<div className="row">
<div className="col-sm-6">
@ -516,17 +510,15 @@ class Settings extends React.Component {
className="panel"
id="DumpWallet"
onClick={ () => this.openTab('DumpWallet', 2) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={this.state.activeTab === 2 ? 'panel-title' : 'panel-title collapsed'}>
<i className="icon wb-briefcase" aria-hidden="true"></i>{ translate('INDEX.WALLET_BACKUP') }
<i className="icon wb-briefcase"></i>{ translate('INDEX.WALLET_BACKUP') }
</a>
</div>
<div
className={ this.state.activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 2 ? this.state.activeTabHeight + 'px' : '0' }}
id="DumpWalletTab"
aria-labelledby="DumpWallet"
role="tabpanel">
id="DumpWalletTab">
<div className="panel-body">Wallet Backup section to be updated soon.</div>
</div>
</div>
@ -535,17 +527,15 @@ class Settings extends React.Component {
className="panel"
id="FiatCurrencySettings"
onClick={ () => this.openTab('FiatCurrencySettings', 3) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={ this.state.activeTab === 3 ? 'panel-title' : 'panel-title collapsed' }>
<i className="icon fa-money" aria-hidden="true"></i>{ translate('INDEX.FIAT_CURRENCY') }
<i className="icon fa-money"></i>{ translate('INDEX.FIAT_CURRENCY') }
</a>
</div>
<div
className={ this.state.activeTab === 3 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 3 ? this.state.activeTabHeight + 'px' : '0' }}
id="FiatCurrencySettingsTab"
aria-labelledby="FiatCurrencySettings"
role="tabpanel">
id="FiatCurrencySettingsTab">
<div className="panel-body">Fiat currency settings section to be updated soon.</div>
</div>
</div>
@ -554,17 +544,15 @@ class Settings extends React.Component {
className="panel"
id="ExportKeys"
onClick={ () => this.openTab('ExportKeys', 4) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={ this.state.activeTab === 4 ? 'panel-title' : 'panel-title collapsed' }>
<i className="icon md-key" aria-hidden="true"></i>{ translate('INDEX.EXPORT_KEYS') }
<i className="icon md-key"></i>{ translate('INDEX.EXPORT_KEYS') }
</a>
</div>
<div
className={ this.state.activeTab === 4 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 4 ? this.state.activeTabHeight + 'px' : '0' }}
id="ExportKeysTab"
aria-labelledby="ExportKeys"
role="tabpanel">
id="ExportKeysTab">
<div className="panel-body">
<p>
<div>{ this.renderLB('INDEX.ONLY_ACTIVE_WIF_KEYS') }</div><br/>
@ -618,17 +606,15 @@ class Settings extends React.Component {
className="panel"
id="ImportKeys"
onClick={ () => this.openTab('ImportKeys', 5) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={ this.state.activeTab === 5 ? 'panel-title' : 'panel-title collapsed' }>
<i className="icon md-key" aria-hidden="true"></i>{ translate('INDEX.IMPORT_KEYS') }
<i className="icon md-key"></i>{ translate('INDEX.IMPORT_KEYS') }
</a>
</div>
<div
className={ this.state.activeTab === 5 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 5 ? this.state.activeTabHeight + 'px' : '0' }}
id="ImportKeysTab"
aria-labelledby="ImportKeys"
role="tabpanel">
id="ImportKeysTab">
<div className="panel-body">
<p>
<div>{ translate('INDEX.IMPORT_KEYS_DESC_P1') }</div><br/>
@ -667,15 +653,15 @@ class Settings extends React.Component {
className="panel"
id="DebugLog"
onClick={ () => this.openTab('DebugLog', 6) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={ this.state.activeTab === 6 ? 'panel-title' : 'panel-title collapsed' }>
<i className="icon fa-bug" aria-hidden="true"></i>{ translate('INDEX.DEBUG_LOG') }
<i className="icon fa-bug"></i>{ translate('INDEX.DEBUG_LOG') }
</a>
</div>
<div
className={ this.state.activeTab === 6 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 6 ? this.state.activeTabHeight + 'px' : '0' }}
id="DebugLogTab" aria-labelledby="DebugLog" role="tabpanel">
id="DebugLogTab">
<div className="panel-body">
<p>{ translate('INDEX.DEBUG_LOG_DESC') }</p>
<div className="col-sm-12"></div>
@ -728,15 +714,15 @@ class Settings extends React.Component {
className="panel"
id="AppSettings"
onClick={ () => this.openTab('AppSettings', 7) }>
<div className="panel-heading" role="tab">
<div className="panel-heading">
<a className={ this.state.activeTab === 7 ? 'panel-title' : 'panel-title collapsed' }>
<i className="icon fa-wrench" aria-hidden="true"></i>{ translate('SETTINGS.APP_CONFIG') } (config.json)
<i className="icon fa-wrench"></i>{ translate('SETTINGS.APP_CONFIG') } (config.json)
</a>
</div>
<div
className={ this.state.activeTab === 7 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 7 ? this.state.activeTabHeight + 'px' : '0' }}
id="DebugLogTab" aria-labelledby="DebugLog" role="tabpanel">
id="DebugLogTab">
<div className="panel-body">
<p>
<strong>{ translate('SETTINGS.CONFIG_RESTART_REQUIRED') }</strong>

7
react/src/components/dashboard/syncOnly.js

@ -98,14 +98,12 @@ class SyncOnly extends React.Component {
<div className="progress progress-sm">
<div
className={'font-size-80-percent full-width ' + (this.isFullySynced(fork) ? 'progress-bar progress-bar-striped active progress-bar-indicating progress-bar-success' : 'hide') }
role="progressbar"
id="currency-bundles">
{ translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">({ fork.coin }) 100.00% - ( { fork.blocks } / { fork.blocks } ) ==&gt;&gt; RT{ fork.RTheight }</span>
</div>
<div
className={'font-size-80-percent ' + (this.isFullySynced(fork) ? 'hide' : 'progress-bar progress-bar-info progress-bar-striped active') }
style={{ width: fork.bundles + '%' }}
role="progressbar"
id="currency-bundles">
{ translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">{ fork.bundles }%</span>
</div>
@ -116,7 +114,6 @@ class SyncOnly extends React.Component {
<div
className="progress-bar progress-bar-warning progress-bar-striped active font-size-80-percent"
style={{ width: fork.utxo + '%' }}
role="progressbar"
id="currency-utxo">
utxo <span id="currency-utxo-percent">{ fork.utxo }%</span>
</div>
@ -125,7 +122,6 @@ class SyncOnly extends React.Component {
<div
className="progress-bar progress-bar-danger progress-bar-striped active font-size-80-percent"
style={{ width: fork.balances + '%' }}
role="progressbar"
id="currency-balances">
{ translate('INDEX.BALANCES') } <span id="currency-balances-percent">{ fork.balances }%</span>
</div>
@ -134,7 +130,6 @@ class SyncOnly extends React.Component {
<div
className="progress-bar progress-bar-success progress-bar-striped active font-size-80-percent"
style={{ width: fork.validated + '%' }}
role="progressbar"
id="currency-validated">
{ translate('INDEX.VALIDATED') } <span id="currency-validated-percent">{ fork.validated }%</span>
</div>
@ -197,7 +192,7 @@ class SyncOnly extends React.Component {
this.props.SyncOnly.display) {
return (
<div>
<div className="modal show sync-only-forks" aria-hidden="false" role="dialog">
<div className="modal show sync-only-forks">
<div className="modal-dialog modal-center modal-lg">
<div className="modal-content">
<div className="modal-body modal-body-container">

12
react/src/components/dashboard/walletsBalance.js

@ -90,9 +90,9 @@ class WalletsBalance extends React.Component {
<div id="wallet-widgets">
<div className="col-xs-12">
<div className={ this.props.ActiveCoin.mode === 'native' || (this.props.ActiveCoin.mode === 'full' && !this.isFullySynced()) ? 'col-xs-12' : 'col-xs-12 hide' }>
<div role="alert" className="alert alert-info alert-dismissible" id="edexcoin-wallet-waitingrt-alert">
<button aria-label="Close" data-dismiss="alert" className="close" type="button">
<span aria-hidden="true">×</span>
<div className="alert alert-info alert-dismissible" id="edexcoin-wallet-waitingrt-alert">
<button className="close" type="button">
<span>×</span>
</button>
<h4>{ translate('INDEX.ACTIVATING_WALLET_RT') }</h4>
<p id="edexcoin-wallet-waitingrt-alert-text">{ translate('INDEX.IGUANA_FULL_MODE_SYNC_P1') }</p>
@ -100,9 +100,9 @@ class WalletsBalance extends React.Component {
<p className="font-weight-600">{ this.renderLB('INDEX.IGUANA_FULL_MODE_SYNC_P3') }</p>
</div>
<div role="alert" className="alert alert-info alert-dismissible" id="edexcoin-wallet-waitingcache-alert">
<button aria-label="Close" data-dismiss="alert" className="close" type="button">
<span aria-hidden="true">×</span>
<div className="alert alert-info alert-dismissible" id="edexcoin-wallet-waitingcache-alert">
<button className="close" type="button">
<span>×</span>
</button>
<h4>{ translate('INDEX.FETCHING_COIN_DATA') }</h4>
<p id="edexcoin-wallet-waitingcache-alert-text">{ translate('INDEX.IGUANA_FULL_MODE_SYNC_P1') }</p>

6
react/src/components/dashboard/walletsBasiliskConnection.js

@ -24,15 +24,15 @@ class WalletsBasiliskConnection extends React.Component {
this.props.Dashboard.basiliskConnection) {
return (
<div onKeyDown={ (event) => this.handleKeydown(event) }>
<div className="modal show" id="RefreshBasiliskConnectionsMdl" aria-hidden="false" role="dialog">
<div className="modal show" id="RefreshBasiliskConnectionsMdl">
<div className="modal-dialog modal-center modal-md">
<div className="modal-content">
<div className="modal-header bg-orange-a400 wallet-send-header">
<h4 className="modal-title white">
<span className="icon fa-refresh no-margin"></span> { translate('INDEX.REFRESHING_BASILISK_NET') }...
</h4>
<button type="button" className="close btn-close" aria-label="Close" onClick={ this.basiliskConnectionAction }>
<span aria-hidden="true">&times;</span>
<button type="button" className="close btn-close" onClick={ this.basiliskConnectionAction }>
<span>&times;</span>
<span className="sr-only">{ translate('INDEX.CLOSE') }</span>
</button>
</div>

2
react/src/components/dashboard/walletsBasiliskRefresh.js

@ -13,7 +13,7 @@ class WalletsBasiliskRefresh extends React.Component {
<div className="panel-heading">
<h3 className="panel-title">{ translate('INDEX.FETCHING_BASILISK_DATA') }</h3>
<div className="panel-actions">
<a className="panel-action icon md-refresh-alt" aria-hidden="true"></a>
<a className="panel-action icon md-refresh-alt"></a>
</div>
</div>
<div className="table-responsive">

9
react/src/components/dashboard/walletsCacheData.js

@ -150,14 +150,14 @@ class WalletsCacheData extends React.Component {
return (
<div>
<div className="modal show" aria-hidden="false" role="dialog">
<div className="modal show">
<div className="modal-dialog modal-center modal-lg">
<div className="modal-content">
<div className="modal-body modal-body-container">
<div className="panel nav-tabs-horizontal">
<div className="panel-body">
<div className="tab-content">
<div className="tab-pane active" role="tabpanel">
<div className="tab-pane active">
{ this.renderNotariesFetching() }
<Tree defaultExpandAll={ false } openAnimation={ animation }>
{ this.renderCoinRootNodes() }
@ -168,7 +168,10 @@ class WalletsCacheData extends React.Component {
</div>
</div>
<div className="modal-footer">
<button type="button" className="btn btn-default" onClick={ this.closeViewCacheModal }>{ translate('INDEX.CLOSE') }</button>
<button
type="button"
className="btn btn-default"
onClick={ this.closeViewCacheModal }>{ translate('INDEX.CLOSE') }</button>
</div>
</div>
</div>

80
react/src/components/dashboard/walletsData.js

@ -273,7 +273,6 @@ class WalletsData extends React.Component {
{ translate('INDEX.SHOW') }&nbsp;
<select
name="itemsPerPage"
aria-controls="kmd-tx-history-tbl"
className="form-control input-sm"
onChange={ this.updateInput }>
<option value="10">10</option>
@ -302,9 +301,7 @@ class WalletsData extends React.Component {
<div className="col-sm-5">
<div
className="dataTables_info"
id="kmd-tx-history-tbl_info"
role="status"
aria-live="polite">{ translate('INDEX.SHOWING') } { _paginationFrom } { translate('INDEX.TO_ALT') } { _paginationTo } { translate('INDEX.OF') } { this.props.ActiveCoin.txhistory.length } { translate('INDEX.ENTRIES_SM') }</div>
id="kmd-tx-history-tbl_info">{ translate('INDEX.SHOWING') } { _paginationFrom } { translate('INDEX.TO_ALT') } { _paginationTo } { translate('INDEX.OF') } { this.props.ActiveCoin.txhistory.length } { translate('INDEX.ENTRIES_SM') }</div>
</div>
<div className="col-sm-7">
<div className="dataTables_paginate paging_simple_numbers" id="kmd-tx-history-tbl_paginate">
@ -312,19 +309,13 @@ class WalletsData extends React.Component {
<li
className={ this.state.activePage === 1 ? 'paginate_button previous disabled' : 'paginate_button previous' }
id="kmd-tx-history-tbl_previous">
<a
aria-controls="kmd-tx-history-tbl"
tabIndex="0"
onClick={ () => this.updateCurrentPage(this.state.activePage - 1) }>{ translate('INDEX.PREVIOUS') }</a>
<a onClick={ () => this.updateCurrentPage(this.state.activePage - 1) }>{ translate('INDEX.PREVIOUS') }</a>
</li>
{ this.renderPaginationItems() }
<li
className={ this.state.activePage > Math.floor(this.props.ActiveCoin.txhistory.length / this.state.itemsPerPage) ? 'paginate_button next disabled' : 'paginate_button next' }
id="kmd-tx-history-tbl_next">
<a
aria-controls="kmd-tx-history-tbl"
tabIndex="0"
onClick={ () => this.updateCurrentPage(this.state.activePage + 1) }>{ translate('INDEX.NEXT') }</a>
<a onClick={ () => this.updateCurrentPage(this.state.activePage + 1) }>{ translate('INDEX.NEXT') }</a>
</li>
</ul>
</div>
@ -496,9 +487,7 @@ class WalletsData extends React.Component {
items.push(
<li key={address.address}>
<a
tabIndex="0"
onClick={ () => this.updateAddressSelection(address.address, type, _amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { _amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
<a onClick={ () => this.updateAddressSelection(address.address, type, _amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { _amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
);
}
@ -555,7 +544,6 @@ class WalletsData extends React.Component {
type="button"
className="btn dropdown-toggle btn-info"
title={ `-${translate('KMD_NATIVE.SELECT_ADDRESS')}-` }
aria-expanded="true"
onClick={ this.openDropMenu }>
<span className="filter-option pull-left">{ this.renderSelectorCurrentLabel() } </span>&nbsp;
<span className="bs-caret">
@ -563,9 +551,9 @@ class WalletsData extends React.Component {
</span>
</button>
<div className="dropdown-menu open">
<ul className="dropdown-menu inner" role="menu">
<li data-original-index="1" className="selected">
<a tabIndex="0"><span className="text"> - { translate('KMD_NATIVE.SELECT_ADDRESS') } - </span><span className="glyphicon glyphicon-ok check-mark"></span></a>
<ul className="dropdown-menu inner">
<li className="selected">
<a><span className="text"> - { translate('KMD_NATIVE.SELECT_ADDRESS') } - </span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
{ this.renderAddressByType('public') }
</ul>
@ -602,8 +590,7 @@ class WalletsData extends React.Component {
className={'full-width margin-bottom-3 ' + (this.state.currentStackLength === 1 || (this.state.currentStackLength === 0 && this.state.totalStackLength === 0) ? 'hide' : 'progress progress-sm') }>
<div
className="progress-bar progress-bar-striped active progress-bar-indicating progress-bar-success font-size-80-percent"
style={{ width: 100 - (this.state.currentStackLength * 100 / this.state.totalStackLength) + '%'}}
role="progressbar">
style={{ width: 100 - (this.state.currentStackLength * 100 / this.state.totalStackLength) + '%'}}>
{ translate('SEND.PROCESSING_REQ') }: { this.state.currentStackLength } / { this.state.totalStackLength }
</div>
</div>
@ -612,64 +599,55 @@ class WalletsData extends React.Component {
onClick={ this.toggleBasiliskActionsMenu }>
<a
className="dropdown-toggle btn-xs btn-default"
id="btn_edexcoin_basilisk"
href="javascript:void(0)"
aria-expanded="false"
role="button">
<i className="icon fa-magic margin-right-10" aria-hidden="true"></i> { translate('INDEX.BASILISK_ACTIONS') } <span className="caret"></span>
id="btn_edexcoin_basilisk">
<i className="icon fa-magic margin-right-10"></i> { translate('INDEX.BASILISK_ACTIONS') } <span className="caret"></span>
</a>
<ul className="dropdown-menu dropdown-menu-right" aria-labelledby="btn_edexcoin_basilisk" role="menu">
<li role="presentation">
<ul className="dropdown-menu dropdown-menu-right">
<li>
<a
className="btn_edexcoin_dashboard_getnotaries"
id="btn_edexcoin_dashboard_getnotaries"
role="menuitem"
onClick={ this.getDexNotariesAction }>
<i className="icon fa-sitemap" aria-hidden="true"></i> { translate('INDEX.GET_NOTARY_NODES_LIST') }
<i className="icon fa-sitemap"></i> { translate('INDEX.GET_NOTARY_NODES_LIST') }
</a>
</li>
<li role="presentation">
<li>
<a
className="btn_edexcoin_dashboard_refresh_basilisk_conn"
id="btn_edexcoin_dashboard_refresh_basilisk_conn"
role="menuitem"
onClick={ this.basiliskConnectionAction }>
<i className="icon wb-refresh" aria-hidden="true"></i> { translate('INDEX.REFRESH_BASILISK_CONNECTIONS') }
<i className="icon wb-refresh"></i> { translate('INDEX.REFRESH_BASILISK_CONNECTIONS') }
</a>
</li>
<li role="presentation" className={ !this.state.useCache ? 'hide' : '' }>
<li className={ !this.state.useCache ? 'hide' : '' }>
<a
className="btn_edexcoin_dashboard_fetchdata"
id="btn_edexcoin_dashboard_fetchdata"
role="menuitem"
onClick={ this.basiliskRefreshActionOne }>
<i className="icon fa-cloud-download" aria-hidden="true"></i> { translate('INDEX.FETCH_WALLET_DATA') } ({ translate('INDEX.ACTIVE_ADDRESS') })
<i className="icon fa-cloud-download"></i> { translate('INDEX.FETCH_WALLET_DATA') } ({ translate('INDEX.ACTIVE_ADDRESS') })
</a>
</li>
<li
role="presentation"
className={ !this.state.useCache || this.props.ActiveCoin.addresses && this.props.ActiveCoin.addresses.public.length === 1 ? 'hide' : '' }>
<a role="menuitem" onClick={ this.basiliskRefreshAction }>
<i className="icon fa-cloud-download" aria-hidden="true"></i> { translate('INDEX.FETCH_ALL_ADDR') }
<li className={ !this.state.useCache || this.props.ActiveCoin.addresses && this.props.ActiveCoin.addresses.public.length === 1 ? 'hide' : '' }>
<a onClick={ this.basiliskRefreshAction }>
<i className="icon fa-cloud-download"></i> { translate('INDEX.FETCH_ALL_ADDR') }
</a>
</li>
<li role="presentation" className={ !this.state.useCache ? 'hide' : '' }>
<li className={ !this.state.useCache ? 'hide' : '' }>
<a
className="btn_edexcoin_dashboard_refetchdata"
id="btn_edexcoin_dashboard_refetchdata"
role="menuitem"
onClick={ this.removeAndFetchNewCache }>
<i className="icon fa-history" aria-hidden="true"></i> { translate('INDEX.REFETCH_WALLET_DATA') }
<i className="icon fa-history"></i> { translate('INDEX.REFETCH_WALLET_DATA') }
</a>
</li>
<li role="presentation" className={'display-none ' + (!this.state.useCache ? 'hide' : '') }>
<a role="menuitem" onClick={ this.restartBasiliskInstance }>
<i className="icon fa-refresh" aria-hidden="true"></i> Restart Basilisk Instance (unsafe!)
<li className={'display-none ' + (!this.state.useCache ? 'hide' : '') }>
<a onClick={ this.restartBasiliskInstance }>
<i className="icon fa-refresh"></i> Restart Basilisk Instance (unsafe!)
</a>
</li>
<li role="presentation" className={ !this.state.useCache ? 'hide' : '' }>
<a className="btn_edexcoin_dashboard_fetchdata" role="menuitem" onClick={ this._toggleViewCacheModal }>
<i className="icon fa-list-alt" aria-hidden="true"></i> { translate('INDEX.VIEW_CACHE_DATA') }
<li className={ !this.state.useCache ? 'hide' : '' }>
<a className="btn_edexcoin_dashboard_fetchdata" onClick={ this._toggleViewCacheModal }>
<i className="icon fa-list-alt"></i> { translate('INDEX.VIEW_CACHE_DATA') }
</a>
</li>
</ul>
@ -691,7 +669,7 @@ class WalletsData extends React.Component {
<div className="col-sm-6">
<div id="kmd-tx-history-tbl_filter" className="dataTables_filter">
<label>
{ translate('INDEX.SEARCH') }: <input type="search" className="form-control input-sm" aria-controls="kmd-tx-history-tbl" disabled="true" />
{ translate('INDEX.SEARCH') }: <input type="search" className="form-control input-sm" disabled="true" />
</label>
</div>
</div>

130
react/src/components/dashboard/walletsHeader.js

@ -22,38 +22,22 @@ class WalletsHeader extends React.Component {
<button
type="button"
id="easydex_kmd_wallet_actions_header"
className="bg-teal-500 btn btn-floating white waves-effect waves-float waves-light"
aria-expanded="false">
<i className="icon md-plus" aria-hidden="true"></i>
className="bg-teal-500 btn btn-floating white waves-effect waves-float waves-light">
<i className="icon md-plus"></i>
</button>
<ul
className="dropdown-menu animate dropdown-menu-right"
aria-labelledby="easydex_kmd_wallet_actions_header"
role="menu">
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
id="btn_kmd_wallet_dashboard">{ translate('INDEX.DASHBOARD') }</a>
<ul className="dropdown-menu animate dropdown-menu-right">
<li>
<a id="btn_kmd_wallet_dashboard">{ translate('INDEX.DASHBOARD') }</a>
</li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
id="btn_kmd_wallet_send">{ translate('INDEX.SEND') }</a>
<li>
<a id="btn_kmd_wallet_send">{ translate('INDEX.SEND') }</a>
</li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
id="btn_kmd_wallet_recieve">{ translate('INDEX.RECEIVE') }</a>
<li>
<a id="btn_kmd_wallet_recieve">{ translate('INDEX.RECEIVE') }</a>
</li>
<li className="divider" role="presentation"></li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
id="btn_kmd_wallet_settings">{ translate('INDEX.SETTINGS') }</a>
<li className="divider"></li>
<li>
<a id="btn_kmd_wallet_settings">{ translate('INDEX.SETTINGS') }</a>
</li>
</ul>
</div>
@ -62,42 +46,22 @@ class WalletsHeader extends React.Component {
<button
type="button"
id="easydex_zec_wallet_actions_header"
className="bg-yellow-600 btn btn-floating white waves-effect waves-float waves-light"
aria-expanded="false">
<i className="icon md-plus" aria-hidden="true"></i>
className="bg-yellow-600 btn btn-floating white waves-effect waves-float waves-light">
<i className="icon md-plus"></i>
</button>
<ul
className="dropdown-menu animate dropdown-menu-right"
aria-labelledby="easydex_zec_wallet_actions_header"
role="menu">
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="ZEC"
id="btn_zec_wallet_dashboard">{ translate('INDEX.DASHBOARD') }</a>
<ul className="dropdown-menu animate dropdown-menu-right">
<li>
<a id="btn_zec_wallet_dashboard">{ translate('INDEX.DASHBOARD') }</a>
</li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="ZEC"
id="btn_zec_wallet_send">{ translate('INDEX.SEND') }</a>
<li>
<a id="btn_zec_wallet_send">{ translate('INDEX.SEND') }</a>
</li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="ZEC"
id="btn_zec_wallet_recieve">{ translate('INDEX.RECEIVE') }</a>
<li>
<a id="btn_zec_wallet_recieve">{ translate('INDEX.RECEIVE') }</a>
</li>
<li className="divider" role="presentation"></li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="ZEC"
id="btn_zec_wallet_settings">{ translate('INDEX.SETTINGS') }</a>
<li className="divider"></li>
<li>
<a id="btn_zec_wallet_settings">{ translate('INDEX.SETTINGS') }</a>
</li>
</ul>
</div>
@ -107,7 +71,7 @@ class WalletsHeader extends React.Component {
type="button"
id="jumblr_actions_header"
className="btn white waves-effect waves-light">
<i className="icon fa-refresh" aria-hidden="true"></i>{ translate('INDEX.REFRESH') }
<i className="icon fa-refresh"></i>{ translate('INDEX.REFRESH') }
</button>
</div>
@ -115,42 +79,22 @@ class WalletsHeader extends React.Component {
<button
type="button"
id="easydex_acpax_wallet_actions_header"
className="bg-teal-500 btn btn-floating white waves-effect waves-float waves-light"
aria-expanded="false">
<i className="icon md-plus" aria-hidden="true"></i>
className="bg-teal-500 btn btn-floating white waves-effect waves-float waves-light">
<i className="icon md-plus"></i>
</button>
<ul
className="dropdown-menu animate dropdown-menu-right"
aria-labelledby="easydex_acpax_wallet_actions_header"
role="menu">
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="KMD"
id="btn_acpax_wallet_dashboard">{ translate('INDEX.DASHBOARD') }</a>
<ul className="dropdown-menu animate dropdown-menu-right">
<li>
<a id="btn_acpax_wallet_dashboard">{ translate('INDEX.DASHBOARD') }</a>
</li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="KMD"
id="btn_acpax_wallet_send">{ translate('INDEX.SEND') }</a>
<li>
<a id="btn_acpax_wallet_send">{ translate('INDEX.SEND') }</a>
</li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="KMD"
id="btn_acpax_wallet_recieve">{ translate('INDEX.RECEIVE') }</a>
<li>
<a id="btn_acpax_wallet_recieve">{ translate('INDEX.RECEIVE') }</a>
</li>
<li className="divider" role="presentation"></li>
<li role="presentation">
<a
href="javascript:void(0)"
role="menuitem"
data-extcoin-menu="KMD"
id="btn_acpax_wallet_settings">{ translate('INDEX.SETTINGS') }</a>
<li className="divider"></li>
<li>
<a id="btn_acpax_wallet_settings">{ translate('INDEX.SETTINGS') }</a>
</li>
</ul>
</div>

6
react/src/components/dashboard/walletsNativeAlert.js

@ -7,9 +7,9 @@ class WalletsNativeAlert extends React.Component {
this.props.Dashboard &&
!this.props.Dashboard.progress) {
return (
<div role="alert" className="alert alert-danger alert-dismissible" id="extcoin-wallet-connection-alert">
<button aria-label="Close" data-dismiss="alert" className="close" type="button">
<span aria-hidden="true">×</span>
<div className="alert alert-danger alert-dismissible" id="extcoin-wallet-connection-alert">
<button className="close" type="button">
<span>×</span>
</button>
<h4>{ translate('INDEX.OOPS_ERROR') }</h4>
<p id="extcoin-wallet-connection-alert-text">

29
react/src/components/dashboard/walletsNativeReceive.js

@ -88,32 +88,21 @@ class WalletsNativeReceive extends React.Component {
<div className={ 'dropdown' + (this.state.openDropMenu ? ' open' : '') } onClick={ this.openDropMenu }>
<a
className="dropdown-toggle white btn btn-warning"
id="GetNewRecievingAddress"
href="javascript:void(0)"
aria-expanded="false"
role="button">
<i className="icon md-arrows margin-right-10" aria-hidden="true"></i> { translate('INDEX.GET_NEW_ADDRESS') } <span className="caret"></span>
id="GetNewRecievingAddress">
<i className="icon md-arrows margin-right-10"></i> { translate('INDEX.GET_NEW_ADDRESS') } <span className="caret"></span>
</a>
<ul
className="dropdown-menu dropdown-menu-right"
aria-labelledby="GetNewRecievingAddress"
role="menu">
<li role="presentation">
<a
href="javascript:void(0)"
id="kmd_get_new_taddr"
role="menuitem"
className="dropdown-menu dropdown-menu-right">
<li>
<a id="kmd_get_new_taddr"
onClick={ () => this.getNewAddress('public') }>
<i className="icon fa-eye" aria-hidden="true"></i> { translate('INDEX.TRANSPARENT_ADDRESS') }
<i className="icon fa-eye"></i> { translate('INDEX.TRANSPARENT_ADDRESS') }
</a>
</li>
<li data-extcoin="COIN" role="presentation">
<a
href="javascript:void(0)"
id="kmd_get_new_zaddr"
role="menuitem"
<li>
<a id="kmd_get_new_zaddr"
onClick={ () => this.getNewAddress('private') }>
<i className="icon fa-eye-slash" aria-hidden="true"></i> { translate('INDEX.PRIVATE_Z_ADDRESS') }
<i className="icon fa-eye-slash"></i> { translate('INDEX.PRIVATE_Z_ADDRESS') }
</a>
</li>
</ul>

28
react/src/components/dashboard/walletsNativeSend.js

@ -53,10 +53,8 @@ class WalletsNativeSend extends React.Component {
this.props.ActiveCoin.addresses[type] &&
this.props.ActiveCoin.addresses[type].length) {
return this.props.ActiveCoin.addresses[type].map((address) =>
<li data-original-index="2" key={ address.address } className={ address.amount <= 0 ? 'hide' : '' }>
<a
tabIndex="0"
onClick={ () => this.updateAddressSelection(address.address, type, address.amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { address.amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
<li key={ address.address } className={ address.amount <= 0 ? 'hide' : '' }>
<a onClick={ () => this.updateAddressSelection(address.address, type, address.amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { address.amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
);
} else {
@ -85,7 +83,6 @@ class WalletsNativeSend extends React.Component {
type="button"
className="btn dropdown-toggle btn-info"
title="- { translate('SEND.SELECT_T_OR_Z_ADDR') } -"
aria-expanded="true"
onClick={ this.openDropMenu }>
<span className="filter-option pull-left">{ this.renderSelectorCurrentLabel() } </span>
<span className="bs-caret">
@ -93,9 +90,9 @@ class WalletsNativeSend extends React.Component {
</span>
</button>
<div className="dropdown-menu open">
<ul className="dropdown-menu inner" role="menu">
<ul className="dropdown-menu inner">
<li className="selected">
<a tabIndex="0"><span className="text"> - { translate('SEND.SELECT_T_OR_Z_ADDR') } - </span><span className="glyphicon glyphicon-ok check-mark"></span></a>
<a><span className="text"> - { translate('SEND.SELECT_T_OR_Z_ADDR') } - </span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
{ this.renderAddressByType('public') }
{ this.renderAddressByType('private') }
@ -125,13 +122,11 @@ class WalletsNativeSend extends React.Component {
}
};
if (opid.status === 'queued') {
return (
<span className={`label label-${_satatusDef[opid.status].icon}`}>
<i className="icon fa-eye"></i> <span>{ translate(`KMD_NATIVE.${_satatusDef[opid.status].label}`) }</span>
</span>
);
}
return (
<span className={ `label label-${_satatusDef[opid.status].icon}` }>
<i className="icon fa-eye"></i> <span>{ translate(`KMD_NATIVE.${_satatusDef[opid.status].label}`) }</span>
</span>
);
}
renderOPIDResult(opid) {
@ -296,7 +291,7 @@ class WalletsNativeSend extends React.Component {
</h3>
</div>
<div className="panel-body container-fluid">
<form className="extcoin-send-form" method="post" role="form" autoComplete="off">
<form className="extcoin-send-form" method="post" autoComplete="off">
<div className="row">
<div className="col-xlg-12 form-group form-material">
<label
@ -355,7 +350,8 @@ class WalletsNativeSend extends React.Component {
type="button"
className="btn btn-primary waves-effect waves-light pull-right"
id="kmd_wallet_send_coins_btn"
onClick={ this.handleSubmit }>
onClick={ this.handleSubmit }
disabled={ !this.state.sendFrom || !this.state.sendTo || !this.state.amount }>
{ translate('INDEX.SEND') } { this.state.amount } { this.props.ActiveCoin.coin }
</button>
</div>

8
react/src/components/dashboard/walletsNativeSyncProgress.js

@ -8,7 +8,6 @@ class WalletsNativeSyncProgress extends React.Component {
return (
<div
className="progress-bar progress-bar-info progress-bar-striped active full-width font-size-80-percent"
role="progressbar"
id="extcoin-sync">
<span
id="extcoin-sync-percent"
@ -19,7 +18,6 @@ class WalletsNativeSyncProgress extends React.Component {
return (
<div
className="progress-bar progress-bar-info progress-bar-striped active full-width font-size-80-percent"
role="progressbar"
id="extcoin-sync">
<span
id="extcoin-sync-percent"
@ -33,7 +31,6 @@ class WalletsNativeSyncProgress extends React.Component {
<div
className="progress-bar progress-bar-info progress-bar-striped active font-size-80-percent"
style={{ width: syncPercentage }}
role="progressbar"
id="extcoin-sync">
<span
id="extcoin-sync-percent"
@ -82,11 +79,10 @@ class WalletsNativeSyncProgress extends React.Component {
this.props.Dashboard.progress.remoteKMDNode) {
return (
<div
role="alert"
className="alert alert-info alert-dismissible margin-bottom-40"
id="extcoin-wallet-activating-alert">
<button aria-label="Close" data-dismiss="alert" className="close" type="button">
<span aria-hidden="true">×</span>
<button className="close" type="button">
<span>×</span>
</button>
<h4>
{ translate('INDEX.ACTIVATING_CHAIN') }{ this.renderActivatingBestChainProgress() }

24
react/src/components/dashboard/walletsNativeTxHistory.js

@ -125,8 +125,7 @@ class WalletsNativeTxHistory extends React.Component {
items.push(
<li className={ this.state.activePage === i + 1 ? 'paginate_button active' : 'paginate_button' }>
<a
aria-controls="kmd-tx-history-tbl"
tabIndex="0" key={ `${i}-pagination` }
key={ `${i}-pagination` }
onClick={ this.state.activePage !== (i + 1) ? () => this.updateCurrentPage(i + 1) : null }>{ i + 1 }</a>
</li>
);
@ -145,9 +144,8 @@ class WalletsNativeTxHistory extends React.Component {
{ translate('INDEX.SHOW') }&nbsp;
<select
name="itemsPerPage"
aria-controls="kmd-tx-history-tbl"
className="form-control input-sm"
onChange={this.updateInput}>
onChange={ this.updateInput }>
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
@ -175,9 +173,7 @@ class WalletsNativeTxHistory extends React.Component {
<div className="col-sm-5">
<div
className="dataTables_info"
id="kmd-tx-history-tbl_info"
role="status"
aria-live="polite">{ translate('INDEX.SHOWING') } { _paginationStart } { translate('INDEX.TO') } { _paginationEnd } { translate('INDEX.OF') } { this.props.ActiveCoin.txhistory.length } { translate('INDEX.ENTRIES_SM') }</div>
id="kmd-tx-history-tbl_info">{ translate('INDEX.SHOWING') } { _paginationStart } { translate('INDEX.TO') } { _paginationEnd } { translate('INDEX.OF') } { this.props.ActiveCoin.txhistory.length } { translate('INDEX.ENTRIES_SM') }</div>
</div>
<div className="col-sm-7">
<div className="dataTables_paginate paging_simple_numbers" id="kmd-tx-history-tbl_paginate">
@ -185,19 +181,13 @@ class WalletsNativeTxHistory extends React.Component {
<li
className={ this.state.activePage === 1 ? 'paginate_button previous disabled' : 'paginate_button previous' }
id="kmd-tx-history-tbl_previous">
<a
aria-controls="kmd-tx-history-tbl"
tabIndex="0"
onClick={ () => this.updateCurrentPage(this.state.activePage - 1) }>{ translate('INDEX.PREVIOUS') }</a>
<a onClick={ () => this.updateCurrentPage(this.state.activePage - 1) }>{ translate('INDEX.PREVIOUS') }</a>
</li>
{this.renderPaginationItems()}
<li
className={ _paginationNextState ? 'paginate_button next disabled' : 'paginate_button next' }
id="kmd-tx-history-tbl_next">
<a
aria-controls="kmd-tx-history-tbl"
tabIndex="0"
onClick={ () => this.updateCurrentPage(this.state.activePage + 1) }>{ translate('INDEX.NEXT') }</a>
<a onClick={ () => this.updateCurrentPage(this.state.activePage + 1) }>{ translate('INDEX.NEXT') }</a>
</li>
</ul>
</div>
@ -228,7 +218,7 @@ class WalletsNativeTxHistory extends React.Component {
this.state.itemsList.length &&
this.props.ActiveCoin.nativeActiveSection === 'default') {
return this.state.itemsList.map((tx, index) =>
<tr key={tx.txid + tx.amount}>
<tr key={ tx.txid + tx.amount }>
<td>
<span className="label label-default">
<i className="icon fa-eye"></i> { translate('IAPI.PUBLIC_SM') }
@ -275,7 +265,7 @@ class WalletsNativeTxHistory extends React.Component {
<div className="col-sm-6">
<div id="kmd-tx-history-tbl_filter" className="dataTables_filter">
<label>
{ translate('INDEX.SEARCH') }: <input type="search" className="form-control input-sm" aria-controls="kmd-tx-history-tbl" disabled="true" />
{ translate('INDEX.SEARCH') }: <input type="search" className="form-control input-sm" disabled="true" />
</label>
</div>
</div>

57
react/src/components/dashboard/walletsNativeTxInfo.js

@ -38,46 +38,30 @@ class WalletsNativeTxInfo extends React.Component {
return (
<div onKeyDown={ (event) => this.handleKeydown(event) }>
<div className="modal show" id="kmd_txid_info_mdl" aria-hidden="false" role="dialog">
<div className="modal show" id="kmd_txid_info_mdl">
<div className="modal-dialog modal-center modal-lg">
<div className="modal-content">
<div className="modal-body modal-body-container">
<div className="panel nav-tabs-horizontal">
<ul className="nav nav-tabs nav-tabs-line" role="tablist">
<li className={ this.state.activeTab === 0 ? 'active' : '' } role="presentation">
<a
data-toggle="tab"
aria-controls="KmdTxIDInfotab1"
role="tab"
onClick={ () => this.openTab(0) }>
<i className="icon md-balance-wallet" aria-hidden="true"></i>TxID Info
<ul className="nav nav-tabs nav-tabs-line">
<li className={ this.state.activeTab === 0 ? 'active' : '' }>
<a onClick={ () => this.openTab(0) }>
<i className="icon md-balance-wallet"></i>TxID Info
</a>
</li>
<li className={ this.state.activeTab === 1 ? 'active' : '' } role="presentation">
<a
data-toggle="tab"
aria-controls="KmdTxIDInfotab2"
role="tab"
onClick={ () => this.openTab(1) }>
<i className="icon md-plus-square" aria-hidden="true"></i>Vjointsplits, Details
<li className={ this.state.activeTab === 1 ? 'active' : '' }>
<a onClick={ () => this.openTab(1) }>
<i className="icon md-plus-square"></i>Vjointsplits, Details
</a>
</li>
<li className={ this.state.activeTab === 2 ? 'active' : '' } role="presentation">
<a
data-toggle="tab"
aria-controls="KmdTxIDInfotab3"
role="tab"
onClick={ () => this.openTab(2) }>
<i className="icon wb-briefcase" aria-hidden="true"></i>Hex
<li className={ this.state.activeTab === 2 ? 'active' : '' }>
<a onClick={ () => this.openTab(2) }>
<i className="icon wb-briefcase"></i>Hex
</a>
</li>
<li className={ this.state.activeTab === 3 ? 'active' : '' } role="presentation">
<a
data-toggle="tab"
aria-controls="KmdTxIDInfotab4"
role="tab"
onClick={ () => this.openTab(3) }>
<i className="icon wb-file" aria-hidden="true"></i>Raw info
<li className={ this.state.activeTab === 3 ? 'active' : '' }>
<a onClick={ () => this.openTab(3) }>
<i className="icon wb-file"></i>Raw info
</a>
</li>
</ul>
@ -85,8 +69,7 @@ class WalletsNativeTxInfo extends React.Component {
<div className="tab-content">
<div
className={ this.state.activeTab === 0 ? 'tab-pane active' : 'tab-pane' }
id="KmdTxIDInfotab1"
role="tabpanel">
id="KmdTxIDInfotab1">
<table className="table table-striped">
<tbody>
<tr>
@ -154,8 +137,7 @@ class WalletsNativeTxInfo extends React.Component {
</div>
<div
className={ this.state.activeTab === 1 ? 'tab-pane active' : 'tab-pane' }
id="KmdTxIDInfotab2"
role="tabpanel">
id="KmdTxIDInfotab2">
<table className="table table-striped">
<tbody>
<tr>
@ -175,8 +157,7 @@ class WalletsNativeTxInfo extends React.Component {
</div>
<div
className={ this.state.activeTab === 2 ? 'tab-pane active' : 'tab-pane' }
id="KmdTxIDInfotab3"
role="tabpanel">
id="KmdTxIDInfotab3">
<textarea
id="kmd_txid_info_hex"
className="full-width height-170"
@ -186,8 +167,7 @@ class WalletsNativeTxInfo extends React.Component {
</div>
<div
className={ this.state.activeTab === 3 ? 'tab-pane active' : 'tab-pane' }
id="KmdTxIDInfotab4"
role="tabpanel">
id="KmdTxIDInfotab4">
<textarea
id="kmd_txid_info_hex"
className="full-width height-400"
@ -204,7 +184,6 @@ class WalletsNativeTxInfo extends React.Component {
<button
type="button"
className="btn btn-default"
data-dismiss="modal"
onClick={ this.toggleTxInfoModal }>{ translate('INDEX.CLOSE') }</button>
</div>
</div>

14
react/src/components/dashboard/walletsNav.js

@ -55,10 +55,10 @@ class WalletsNav extends React.Component {
return (
<div>
<div className="col-xs-12 padding-top-20" id="no_wallet_selected">
<div className="alert alert-info alert-dismissible" role="alert">
<button type="button" className="close" data-dismiss="alert" aria-label="Close"></button>
<div className="alert alert-info alert-dismissible">
<button type="button" className="close"></button>
<span className="font-size-24 text-align-center">
<i className="icon fa-paw" aria-hidden="true"></i> { translate('INDEX.NO_WALLET_CAPS') }
<i className="icon fa-paw"></i> { translate('INDEX.NO_WALLET_CAPS') }
</span>
<br/>
{ translate('INDEX.PLEASE_SELECT_A_WALLET') }.
@ -74,7 +74,7 @@ class WalletsNav extends React.Component {
id="header-dashboard"
style={{ marginBottom: this.props.ActiveCoin.mode === 'basilisk' ? '30px' : '0' }}>
<ol className="breadcrumb">
<strong>{ translate('INDEX.MY') } <span id="edexcoin-active">{ this.props && this.props.ActiveCoin ? this.props.ActiveCoin.coin : '-' }</span> { translate('INDEX.ADDRESS') }: </strong> <span id="edexcoin_active_addr">{ this.props && this.props.Dashboard && this.props.Dashboard.activeHandle ? this.props.Dashboard.activeHandle[this.props.ActiveCoin.coin] : '-' }</span> <button className="btn btn-default btn-xs clipboard-edexaddr" id="edexcoin_active_addr_clipboard" onClick={ () => this.copyMyAddress(this.props.Dashboard.activeHandle[this.props.ActiveCoin.coin]) }><i className="icon wb-copy" aria-hidden="true"></i> { translate('INDEX.COPY') }</button>
<strong>{ translate('INDEX.MY') } <span id="edexcoin-active">{ this.props && this.props.ActiveCoin ? this.props.ActiveCoin.coin : '-' }</span> { translate('INDEX.ADDRESS') }: </strong> <span id="edexcoin_active_addr">{ this.props && this.props.Dashboard && this.props.Dashboard.activeHandle ? this.props.Dashboard.activeHandle[this.props.ActiveCoin.coin] : '-' }</span> <button className="btn btn-default btn-xs clipboard-edexaddr" id="edexcoin_active_addr_clipboard" onClick={ () => this.copyMyAddress(this.props.Dashboard.activeHandle[this.props.ActiveCoin.coin]) }><i className="icon wb-copy"></i> { translate('INDEX.COPY') }</button>
</ol>
<div className="page-header-actions" id="edexcoin-actions">
<div id="kmd_header_button">
@ -83,21 +83,21 @@ class WalletsNav extends React.Component {
className="btn btn-dark waves-effect waves-light"
id="btn_edexcoin_dashboard"
onClick={ this.toggleSendReceiveCoinForms }>
<i className="icon md-view-dashboard" aria-hidden="true"></i> { this.props.ActiveCoin.mode !== 'native' ? translate('INDEX.DASHBOARD') : translate('INDEX.WALLET_INFO') }
<i className="icon md-view-dashboard"></i> { this.props.ActiveCoin.mode !== 'native' ? translate('INDEX.DASHBOARD') : translate('INDEX.WALLET_INFO') }
</button>
<button
type="button"
className="btn btn-primary waves-effect waves-light"
id="btn_edexcoin_send"
onClick={ () => this.toggleSendCoinForm(!this.props.ActiveCoin.send) }>
<i className="icon fa-send" aria-hidden="true"></i> { translate('INDEX.SEND') }
<i className="icon fa-send"></i> { translate('INDEX.SEND') }
</button>
<button
type="button"
className="btn btn-info waves-effect waves-light"
id="btn_edexcoin_recieve"
onClick={ () => this.toggleReceiveCoinForm(!this.props.ActiveCoin.receive) }>
<i className="icon fa-inbox" aria-hidden="true"></i> { translate('INDEX.RECEIVE') }
<i className="icon fa-inbox"></i> { translate('INDEX.RECEIVE') }
</button>
</div>
</div>

4
react/src/components/dashboard/walletsNotariesList.js

@ -57,14 +57,14 @@ class WalletsNotariesList extends React.Component {
return (
<div onKeyDown={ (event) => this.handleKeydown(event) }>
<div className="modal show" id="kmd_txid_info_mdl" aria-hidden="false" role="dialog">
<div className="modal show" id="kmd_txid_info_mdl">
<div className="modal-dialog modal-center modal-lg">
<div className="modal-content">
<div className="modal-body modal-body-container">
<div className="panel nav-tabs-horizontal">
<div className="panel-body">
<div className="tab-content">
<div className="tab-pane active" role="tabpanel">
<div className="tab-pane active">
{ this.renderNotariesFetching() }
<Tree defaultExpandAll={ false } openAnimation={ animation }>
{ this.renderNotariesList() }

9
react/src/components/dashboard/walletsProgress.js

@ -35,15 +35,13 @@ class WalletsProgress extends React.Component {
<div id="currency-progressbars">
<div className="progress progress-sm">
<div
className={'full-width font-size-80-percent ' + (this.isFullySynced() ? 'progress-bar progress-bar-striped active progress-bar-indicating progress-bar-success' : 'hide') }
role="progressbar"
className={ 'full-width font-size-80-percent ' + (this.isFullySynced() ? 'progress-bar progress-bar-striped active progress-bar-indicating progress-bar-success' : 'hide') }
id="currency-bundles">
{ translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">({ this.props.ActiveCoin.coin }) 100.00% - ( { this.props.Dashboard.progress.blocks } / { this.props.Dashboard.progress.blocks } ) ==&gt;&gt; RT{ this.props.Dashboard.progress.RTheight }</span>
</div>
<div
className={'font-size-80-percent ' + (this.isFullySynced() ? 'hide' : 'progress-bar progress-bar-info progress-bar-striped active') }
className={ 'font-size-80-percent ' + (this.isFullySynced() ? 'hide' : 'progress-bar progress-bar-info progress-bar-striped active') }
style={{ width: this.props.Dashboard.progress.bundles + '%' }}
role="progressbar"
id="currency-bundles">
{ translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">{ this.props.Dashboard.progress.bundles }%</span>
</div>
@ -54,7 +52,6 @@ class WalletsProgress extends React.Component {
<div
className="progress-bar progress-bar-warning progress-bar-striped active font-size-80-percent"
style={{ width: this.props.Dashboard.progress.utxo + '%' }}
role="progressbar"
id="currency-utxo">
utxo <span id="currency-utxo-percent">{ this.props.Dashboard.progress.utxo }%</span>
</div>
@ -63,7 +60,6 @@ class WalletsProgress extends React.Component {
<div
className="progress-bar progress-bar-danger progress-bar-striped active font-size-80-percent"
style={{ width: this.props.Dashboard.progress.balances + '%' }}
role="progressbar"
id="currency-balances">
{ translate('INDEX.BALANCES') } <span id="currency-balances-percent">{ this.props.Dashboard.progress.balances }%</span>
</div>
@ -72,7 +68,6 @@ class WalletsProgress extends React.Component {
<div
className="progress-bar progress-bar-success progress-bar-striped active font-size-80-percent"
style={{ width: this.props.Dashboard.progress.validated + '%' }}
role="progressbar"
id="currency-validated">
{ translate('INDEX.VALIDATED') } <span id="currency-validated-percent">{ this.props.Dashboard.progress.validated }%</span>
</div>

30
react/src/components/dashboard/walletsTxInfo.js

@ -37,28 +37,20 @@ class WalletsTxInfo extends React.Component {
return (
<div onKeyDown={ (event) => this.handleKeydown(event) }>
<div className="modal show" id="kmd_txid_info_mdl" aria-hidden="false" role="dialog">
<div className="modal show" id="kmd_txid_info_mdl">
<div className="modal-dialog modal-center modal-lg">
<div className="modal-content">
<div className="modal-body modal-body-container">
<div className="panel nav-tabs-horizontal">
<ul className="nav nav-tabs nav-tabs-line" role="tablist">
<li className={ this.state.activeTab === 0 ? 'active' : '' } role="presentation">
<a
data-toggle="tab"
aria-controls="KmdTxIDInfotab1"
role="tab"
onClick={ () => this.openTab(0) }>
<i className="icon md-balance-wallet" aria-hidden="true"></i>TxID Info
<ul className="nav nav-tabs nav-tabs-line">
<li className={ this.state.activeTab === 0 ? 'active' : '' }>
<a onClick={ () => this.openTab(0) }>
<i className="icon md-balance-wallet"></i>TxID Info
</a>
</li>
<li className={ this.state.activeTab === 1 ? 'active' : '' } role="presentation">
<a
data-toggle="tab"
aria-controls="KmdTxIDInfotab4"
role="tab"
onClick={ () => this.openTab(1) }>
<i className="icon wb-file" aria-hidden="true"></i>Raw info
<li className={ this.state.activeTab === 1 ? 'active' : '' }>
<a onClick={ () => this.openTab(1) }>
<i className="icon wb-file"></i>Raw info
</a>
</li>
</ul>
@ -66,8 +58,7 @@ class WalletsTxInfo extends React.Component {
<div className="tab-content">
<div
className={ this.state.activeTab === 0 ? 'tab-pane active' : 'tab-pane' }
id="KmdTxIDInfotab1"
role="tabpanel">
id="KmdTxIDInfotab1">
<table className="table table-striped">
<tbody>
<tr>
@ -117,7 +108,7 @@ class WalletsTxInfo extends React.Component {
</div>
<div
className={ this.state.activeTab === 1 ? 'tab-pane active' : 'tab-pane' }
id="KmdTxIDInfotab4" role="tabpanel">
id="KmdTxIDInfotab4">
<textarea
id="kmd_txid_info_hex"
className="full-width height-400"
@ -133,7 +124,6 @@ class WalletsTxInfo extends React.Component {
<button
type="button"
className="btn btn-default"
data-dismiss="modal"
onClick={ this.toggleTxInfoModal }>{ translate('INDEX.CLOSE') }</button>
</div>
</div>

10
react/src/components/login/login.js

@ -167,8 +167,8 @@ class Login extends React.Component {
if (this.state.displaySeedBackupModal) {
return (
<div className="swal2-container">
<div className="swal2-overlay full-opacity display-block" tabIndex="-1"></div>
<div className="swal2-modal show-swal2 visible swal2-modal-container" tabIndex="-1">
<div className="swal2-overlay full-opacity display-block"></div>
<div className="swal2-modal show-swal2 visible swal2-modal-container">
<div className="swal2-icon swal2-warning pulse-warning display-block">!</div>
<h2>{ translate('LOGIN.SAVED_WALLET_SEED') }</h2>
<div className="swal2-content display-block">{ translate('LOGIN.SEED_MAKE_SURE_BACKUP') }</div>
@ -210,8 +210,8 @@ class Login extends React.Component {
<h3 className="panel-title">{ translate('INDEX.UNSUPPORTED_BROWSER') }</h3>
</div>
<div className="alert alert-danger alert-dismissible" role="alert">
<button type="button" className="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
<button type="button" className="close">
<span>&times;</span>
<span className="sr-only">{ translate('INDEX.CLOSE') }</span>
</button>
{ translate('INDEX.IE_UNSUPPORTED') }
@ -263,7 +263,6 @@ class Login extends React.Component {
<button
className="btn btn-lg btn-flat btn-block waves-effect margin-top-20"
id="register-btn"
role="menuitem"
onClick={ this.toggleActivateCoinForm }
disabled={ !this.props.Main }>
<span className="ladda-label">{ translate('ADD_COIN.ADD_ANOTHER_COIN') }</span>
@ -281,7 +280,6 @@ class Login extends React.Component {
<button
className="btn btn-lg btn-primary btn-block ladda-button"
id="start-coin-login"
role="menuitem"
onClick={ this.toggleActivateCoinForm }
disabled={ !this.props.Main }>
<span className="ladda-label">{ translate('INDEX.ACTIVATE_COIN') }</span>

2
react/src/components/toaster/toaster-item.js

@ -61,7 +61,7 @@ class ToasterItem extends React.Component {
return (
<div className={ `toast toast-${this.state.type}` }>
<button
className="toast-close-button" role="button"
className="toast-close-button"
onClick={ () => this.dismissToast(this.state.toastId) }>×
</button>
<div className="toast-title">{ this.state.title }</div>

4
react/src/components/toaster/toaster.js

@ -54,9 +54,7 @@ class Toaster extends React.Component {
return (
<div
id="toast-container"
className="single-toast toast-bottom-right"
aria-live="polite"
role="alert">
className="single-toast toast-bottom-right">
{ this.renderToasts() }
</div>
);

4
react/src/translate/en.js

@ -1,6 +1,10 @@
export const _lang = {
'EN': {
'INDEX': {
'IMPORT': 'Import',
'CHECK': 'Check',
'VALIDATE': 'Validate',
'COPY_TO_CLIPBOARD': 'Copy to clipboard',
'EMPTY_DEBUG_LOG': 'Debug.log is empty',
'RESTART': 'Restart',
'WALLET_INFO': 'Wallet Info',

Loading…
Cancel
Save