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. 27
      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. 18
      react/src/components/dashboard/walletsNativeSend.js
  24. 8
      react/src/components/dashboard/walletsNativeSyncProgress.js
  25. 20
      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. 5
      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) { export function syncingNativeModeState(display, json) {
return { return {
type: SYNCING_FULL_MODE, type: SYNCING_NATIVE_MODE,
syncingNativeMode: display, syncingNativeMode: display,
progress: json, progress: json,
} }
@ -161,7 +161,7 @@ export function syncingNativeModeState(display, json) {
export function syncingFullModeState(display, json) { export function syncingFullModeState(display, json) {
return { return {
type: SYNCING_NATIVE_MODE, type: SYNCING_FULL_MODE,
syncingFullMode: display, syncingFullMode: display,
progress: json, progress: json,
} }

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

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

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

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

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

@ -245,7 +245,9 @@ class AddCoin extends React.Component {
const _coin = _item.selectedCoin || ''; const _coin = _item.selectedCoin || '';
items.push( 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="col-sm-8">
<div className="form-group"> <div className="form-group">
<select <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') { if (props.Atomic.response.error === 'less than required responses') {
console.log('error'); Store.dispatch(triggerToaster(true, 'Basilisk connection error', translate('TOASTR.SERVICE_NOTIFICATION'), 'error'));
// toastr.error(_lang[defaultLang].DASHBOARD.LESS_RESPONSES_REQ, _lang[defaultLang].DASHBOARD.BASILISC_NOTIFICATION)
} }
} }
} }

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

@ -59,8 +59,8 @@ class CoinTile extends React.Component {
return ( return (
<div className="page-aside padding-top-80"> <div className="page-aside padding-top-80">
<div className="page-aside-switch"> <div className="page-aside-switch">
<i className="icon md-chevron-left" aria-hidden="true"></i> <i className="icon md-chevron-left"></i>
<i className="icon md-chevron-right" aria-hidden="true"></i> <i className="icon md-chevron-right"></i>
</div> </div>
<div className="page-aside-inner"> <div className="page-aside-inner">
<div className="search-wallet-widgets panel display-none"> <div className="search-wallet-widgets panel display-none">
@ -68,7 +68,7 @@ class CoinTile extends React.Component {
<div className="panel-actions"> <div className="panel-actions">
<div className="input-search input-group-sm"> <div className="input-search input-group-sm">
<button type="submit" className="input-search-btn"> <button type="submit" className="input-search-btn">
<i className="icon md-search" aria-hidden="true"></i> <i className="icon md-search"></i>
</button> </button>
<input type="text" className="form-control" name="" placeholder="Search..." disabled /> <input type="text" className="form-control" name="" placeholder="Search..." disabled />
</div> </div>
@ -77,8 +77,8 @@ class CoinTile extends React.Component {
</div> </div>
</div> </div>
<div className="wallet-widgets-list"> <div className="wallet-widgets-list">
<div data-role="container"> <div>
<div data-role="content"> <div>
<div className="list-group row wallet-widgets-row"> <div className="list-group row wallet-widgets-row">
{ this.renderTiles() } { this.renderTiles() }
</div> </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 // 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 // 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 // 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) { dispatchCoinActions(coin, mode) {
if (mode === 'native') { 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="page-content margin-top-30" id="section-jumblr">
<div className="row" id="jumblr_dashboard"> <div className="row" id="jumblr_dashboard">
<div className="col-xs-12" id="jumblr_testing_alert"> <div className="col-xs-12" id="jumblr_testing_alert">
<div className="alert alert-danger" role="alert"> <div className="alert alert-danger">
<button type="button" className="close" data-dismiss="alert" aria-label="Close"> <button type="button" className="close">
<span aria-hidden="true">×</span> <span>×</span>
</button> </button>
<span className="jumblr-header"> <span className="jumblr-header">
<i className="icon fa-paw" aria-hidden="true"></i> { translate('JUMBLR.NOTICE') } <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="col-xs-12" id="jumblr_no_native_kmd_alert">
<div className="alert alert-info alert-dismissible" role="alert"> <div className="alert alert-info alert-dismissible" role="alert">
<button type="button" className="close" data-dismiss="alert" aria-label="Close"> <button type="button" className="close">
<span aria-hidden="true">×</span> <span>×</span>
</button> </button>
<span className="jumblr-header"> <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> </span>
<br /> <br />
{ translate('JUMBLR.TO_USE_JUMBLR') } { translate('JUMBLR.TO_USE_JUMBLR') }
@ -68,23 +68,17 @@ class Jumblr extends React.Component {
</div> </div>
<div className="col-xs-12"> <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">
<div <div
className="panel-heading" className="panel-heading"
id="jumblr_security_notes" id="jumblr_security_notes"
role="tab"
onClick={ () => this.openTab(0) }> onClick={ () => this.openTab(0) }>
<a <a className={ this.state.activeTab === 0 ? 'panel-title' : 'panel-title collapsed' }>{ translate('JUMBLR.FEW_SECURITY_NOTES') }</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>
</div> </div>
<div <div
className={ this.state.activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
id="jumblr_security_notes_1" id="jumblr_security_notes_1">
aria-labelledby="jumblr_security_notes"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<ul> <ul>
<li>{ translate('JUMBLR.FEW_SECURITY_NOTES_DESC1') }</li> <li>{ translate('JUMBLR.FEW_SECURITY_NOTES_DESC1') }</li>
@ -100,18 +94,12 @@ class Jumblr extends React.Component {
<div <div
className="panel-heading" className="panel-heading"
id="jumblr_access_funds" id="jumblr_access_funds"
role="tab"
onClick={ () => this.openTab(1) }> onClick={ () => this.openTab(1) }>
<a <a className={ this.state.activeTab === 1 ? 'panel-title' : 'panel-title collapsed' }>{ translate('JUMBLR.ACCESS_JUMBLR_FUNDS') }</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>
</div> </div>
<div <div
className={ this.state.activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
id="jumblr_access_funds_2" id="jumblr_access_funds_2">
aria-labelledby="jumblr_access_funds"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<p>{ translate('JUMBLR.ADDRESS_ACCESSIBLE_EASILY') }</p> <p>{ translate('JUMBLR.ADDRESS_ACCESSIBLE_EASILY') }</p>
<ul> <ul>
@ -140,17 +128,12 @@ class Jumblr extends React.Component {
</div> </div>
</div> </div>
<div className="panel"> <div className="panel">
<div className="panel-heading" id="jumblr_using_jumblr" role="tab" onClick={ () => this.openTab(2) }> <div className="panel-heading" id="jumblr_using_jumblr" onClick={ () => this.openTab(2) }>
<a <a className={ this.state.activeTab === 2 ? 'panel-title' : 'panel-title collapsed' }>{ translate('JUMBLR.USING_JUMBLR') }</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> </div>
<div <div
className={ this.state.activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
id="jumblr_using_jumblr_3" id="jumblr_using_jumblr_3">
aria-labelledby="jumblr_using_jumblr"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<ul> <ul>
<li>{ translate('JUMBLR.RUN_KMD') }</li> <li>{ translate('JUMBLR.RUN_KMD') }</li>
@ -188,7 +171,9 @@ class Jumblr extends React.Component {
<td>BTC Jumblr</td> <td>BTC Jumblr</td>
<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"> <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> </button>
<span <span
className="label label-lg label-outline label-success" 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() { render() {
return ( 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"> <div className="navbar-header">
<button type="button" className="navbar-toggle hamburger hamburger-close navbar-toggle-left hided"> <button type="button" className="navbar-toggle hamburger hamburger-close navbar-toggle-left hided">
<span className="sr-only">{ translate('INDEX.TOGGLE_NAV') }</span> <span className="sr-only">{ translate('INDEX.TOGGLE_NAV') }</span>
<span className="hamburger-bar"></span> <span className="hamburger-bar"></span>
</button> </button>
<button type="button" className="navbar-toggle collapsed"> <button type="button" className="navbar-toggle collapsed">
<i className="icon md-more" aria-hidden="true"></i> <i className="icon md-more"></i>
</button> </button>
<div className="navbar-brand navbar-brand-center site-gridmenu-toggle"> <div className="navbar-brand navbar-brand-center site-gridmenu-toggle">
<img <img
@ -96,14 +96,14 @@ class Navbar extends React.Component {
</div> </div>
<button type="button" className="navbar-toggle collapsed"> <button type="button" className="navbar-toggle collapsed">
<span className="sr-only">{ translate('INDEX.TOGGLE_SEARCH') }</span> <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> </button>
</div> </div>
<div className="navbar-container container-fluid"> <div className="navbar-container container-fluid">
<div className="collapse navbar-collapse navbar-collapse-toolbar" id="site-navbar-collapse"> <div className="collapse navbar-collapse navbar-collapse-toolbar" id="site-navbar-collapse">
<ul className="nav navbar-toolbar"> <ul className="nav navbar-toolbar">
<li className="hidden-float display-none" id="toggleMenubar"> <li className="hidden-float display-none" id="toggleMenubar">
<a role="button"> <a>
<i className="icon hamburger hamburger-arrow-left"> <i className="icon hamburger hamburger-arrow-left">
<span className="sr-only">{ translate('INDEX.TOGGLE_MENUBAR') }</span> <span className="sr-only">{ translate('INDEX.TOGGLE_MENUBAR') }</span>
<span className="hamburger-bar"></span> <span className="hamburger-bar"></span>
@ -112,7 +112,7 @@ class Navbar extends React.Component {
</li> </li>
<li className={ this.props.Dashboard.activeSection === 'wallets' ? 'active nav-top-menu' : 'nav-top-menu' }> <li className={ this.props.Dashboard.activeSection === 'wallets' ? 'active nav-top-menu' : 'nav-top-menu' }>
<a id="nav-dashboard" onClick={ () => this.dashboardChangeSection('wallets') }> <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> </a>
</li> </li>
<li className={ this.props.Dashboard.activeSection === 'edex' ? 'active nav-top-menu' : 'nav-top-menu' }> <li className={ this.props.Dashboard.activeSection === 'edex' ? 'active nav-top-menu' : 'nav-top-menu' }>
@ -123,19 +123,18 @@ class Navbar extends React.Component {
<li <li
className={'display-none ' + (this.props.Dashboard.activeSection === 'jumblr' ? 'active nav-top-menu' : 'nav-top-menu') }> className={'display-none ' + (this.props.Dashboard.activeSection === 'jumblr' ? 'active nav-top-menu' : 'nav-top-menu') }>
<a id="nav-jumblr" onClick={ () => this.dashboardChangeSection('jumblr') }> <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> </a>
</li> </li>
<li className={ this.props.Dashboard.activeSection === 'atomic' ? 'active nav-top-menu' : 'nav-top-menu' }> <li className={ this.props.Dashboard.activeSection === 'atomic' ? 'active nav-top-menu' : 'nav-top-menu' }>
<a id="nav-iguana-atomic-explorer" onClick={ () => this.dashboardChangeSection('atomic') }> <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> </a>
</li> </li>
</ul> </ul>
<ul className="nav navbar-toolbar navbar-right navbar-toolbar-right"> <ul className="nav navbar-toolbar navbar-right navbar-toolbar-right">
<li role="presentation"> <li role="presentation">
<a <a
role="menuitem"
id="btn_edexcoin_addcoin" id="btn_edexcoin_addcoin"
className="pointer padding-bottom-10 padding-top-16" className="pointer padding-bottom-10 padding-top-16"
onClick={ this.toggleAddCoinModal }> onClick={ this.toggleAddCoinModal }>
@ -145,43 +144,40 @@ class Navbar extends React.Component {
</a> </a>
</li> </li>
<li <li
className={ 'dropdown' + (this.state.openDropMenu ? ' open' : '') } className={ 'pointer dropdown' + (this.state.openDropMenu ? ' open' : '') }
onClick={ this.openDropMenu }> 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"> <span className="avatar avatar-online">
<img src="assets/images/iguana_profile_02.jpg" alt="iguana profile pic" /> <img src="assets/images/iguana_profile_02.jpg" alt="iguana profile pic" />
<i></i> <i></i>
</span> </span>
</a> </a>
<ul className="dropdown-menu" role="menu"> <ul className="dropdown-menu">
<li role="presentation"> <li>
<a <a
role="menuitem"
id="nav-iguana-wallet-settings" id="nav-iguana-wallet-settings"
onClick={ () => this.dashboardChangeSection('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> </a>
</li> </li>
<li role="presentation"> <li>
<a <a
role="menuitem"
id="nav-iguana-sync-only" id="nav-iguana-sync-only"
onClick={ () => this.openSyncOnlyModal() }> 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> </a>
</li> </li>
<li role="presentation"> <li>
<a <a
role="menuitem"
id="nav-about-iguana" id="nav-about-iguana"
onClick={ () => this.dashboardChangeSection('about') }> 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> </a>
</li> </li>
<li className="divider" role="presentation"></li> <li className="divider"></li>
<li role="presentation"> <li>
<a role="menuitem" id="logout-account" onClick={ this.logout }> <a id="logout-account" onClick={ this.logout }>
<i className="icon md-power" aria-hidden="true"></i> { translate('INDEX.LOGOUT') } <i className="icon md-power"></i> { translate('INDEX.LOGOUT') }
</a> </a>
</li> </li>
</ul> </ul>

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

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

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

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

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

@ -49,7 +49,7 @@ class SendCoin extends React.Component {
amount: 0, amount: 0,
fee: 0.0001, fee: 0.0001,
sendSig: false, sendSig: false,
sendApiType: false, sendApiType: true,
addressSelectorOpen: false, addressSelectorOpen: false,
currentStackLength: 0, currentStackLength: 0,
totalStackLength: 0, totalStackLength: 0,
@ -218,12 +218,9 @@ class SendCoin extends React.Component {
return( return(
<li <li
data-original-index="2"
key={ mainAddress } key={ mainAddress }
className={ mainAddressAmount <= 0 ? 'hide' : '' }> className={ mainAddressAmount <= 0 ? 'hide' : '' }>
<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>
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>
</li> </li>
); );
} else { } else {
@ -242,9 +239,7 @@ class SendCoin extends React.Component {
<li <li
key={ address.address } key={ address.address }
className={ _amount <= 0 ? 'hide' : '' }> className={ _amount <= 0 ? 'hide' : '' }>
<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>
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>
</li> </li>
); );
} }
@ -291,12 +286,13 @@ class SendCoin extends React.Component {
renderAddressList() { renderAddressList() {
return ( 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 <button
type="button" type="button"
className="btn dropdown-toggle btn-info" className="btn dropdown-toggle btn-info"
title={ '-' + translate('SEND.SELECT_T_OR_Z_ADDR') + '-' } title={ '-' + translate('SEND.SELECT_T_OR_Z_ADDR') + '-' }
aria-expanded="true"
onClick={ this.openDropMenu }> onClick={ this.openDropMenu }>
<span className="filter-option pull-left">{ this.renderSelectorCurrentLabel() } </span>&nbsp; <span className="filter-option pull-left">{ this.renderSelectorCurrentLabel() } </span>&nbsp;
<span className="bs-caret"> <span className="bs-caret">
@ -304,9 +300,9 @@ class SendCoin extends React.Component {
</span> </span>
</button> </button>
<div className="dropdown-menu open"> <div className="dropdown-menu open">
<ul className="dropdown-menu inner" role="menu"> <ul className="dropdown-menu inner">
<li className="selected"> <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> </li>
{ this.renderAddressByType('public') } { this.renderAddressByType('public') }
</ul> </ul>
@ -814,7 +810,7 @@ class SendCoin extends React.Component {
</h3> </h3>
</div> </div>
<div className="panel-body container-fluid"> <div className="panel-body container-fluid">
<form className="edexcoin-send-form" method="post" role="form" autoComplete="off"> <form className="edexcoin-send-form" method="post" autoComplete="off">
{ this.renderSendApiTypeSelector() } { this.renderSendApiTypeSelector() }
<div className="row"> <div className="row">
<div className={ this.props.ActiveCoin.mode === 'basilisk' ? 'col-xlg-12 form-group form-material' : 'hide' }> <div className={ this.props.ActiveCoin.mode === 'basilisk' ? 'col-xlg-12 form-group form-material' : 'hide' }>
@ -864,7 +860,7 @@ class SendCoin extends React.Component {
onChange={ this.updateInput } /> onChange={ this.updateInput } />
</div> </div>
<div className="col-lg-12"> <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 } <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> </span>
</div> </div>
@ -882,7 +878,8 @@ class SendCoin extends React.Component {
<button <button
type="button" type="button"
className="btn btn-primary waves-effect waves-light pull-right edexcoin_send_coins_btn_step1" 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 } { translate('INDEX.SEND') } { Number(this.state.amount) - Number(this.state.fee) } { this.props.ActiveCoin.coin }
</button> </button>
</div> </div>

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

@ -126,16 +126,14 @@ class Settings extends React.Component {
if (releaseInfo) { if (releaseInfo) {
return ( return (
<div className="panel" id="AppInfo" onClick={ () => this.openTab('AppInfo', 8) }> <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'}> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 8 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 8 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 8 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 8 ? this.state.activeTabHeight + 'px' : '0' }}>
aria-labelledby="DebugLog"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<div className="col-sm-12 padding-top-15"> <div className="col-sm-12 padding-top-15">
<div className="row"> <div className="row">
@ -351,22 +349,20 @@ class Settings extends React.Component {
<div className="row" id="iguana-wallet-settings"> <div className="row" id="iguana-wallet-settings">
<div className="col-xlg-12 col-md-12"> <div className="col-xlg-12 col-md-12">
<h4 className="font-size-14 text-uppercase">{ translate('INDEX.WALLET_SETTINGS') }</h4> <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 <div
className="panel" className="panel"
id="WalletInfo" id="WalletInfo"
onClick={ () => this.openTab('WalletInfo', 0) }> 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' }> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 0 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 0 ? this.state.activeTabHeight + 'px' : '0' }}
id="WalletInfoTab" id="WalletInfoTab">
aria-labelledby="WalletInfo"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<table className="table" id="wallet-info-table"> <table className="table" id="wallet-info-table">
<thead> <thead>
@ -422,17 +418,15 @@ class Settings extends React.Component {
className="panel" className="panel"
id="AddNodeforCoin" id="AddNodeforCoin"
onClick={ () => this.openTab('AddNodeforCoin', 1) }> 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' }> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 1 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 1 ? this.state.activeTabHeight + 'px' : '0' }}
id="AddNodeforCoinTab" id="AddNodeforCoinTab">
aria-labelledby="AddNodeforCoin"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<div className="row"> <div className="row">
<div className="col-sm-6"> <div className="col-sm-6">
@ -516,17 +510,15 @@ class Settings extends React.Component {
className="panel" className="panel"
id="DumpWallet" id="DumpWallet"
onClick={ () => this.openTab('DumpWallet', 2) }> 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'}> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 2 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 2 ? this.state.activeTabHeight + 'px' : '0' }}
id="DumpWalletTab" id="DumpWalletTab">
aria-labelledby="DumpWallet"
role="tabpanel">
<div className="panel-body">Wallet Backup section to be updated soon.</div> <div className="panel-body">Wallet Backup section to be updated soon.</div>
</div> </div>
</div> </div>
@ -535,17 +527,15 @@ class Settings extends React.Component {
className="panel" className="panel"
id="FiatCurrencySettings" id="FiatCurrencySettings"
onClick={ () => this.openTab('FiatCurrencySettings', 3) }> 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' }> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 3 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 3 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 3 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 3 ? this.state.activeTabHeight + 'px' : '0' }}
id="FiatCurrencySettingsTab" id="FiatCurrencySettingsTab">
aria-labelledby="FiatCurrencySettings"
role="tabpanel">
<div className="panel-body">Fiat currency settings section to be updated soon.</div> <div className="panel-body">Fiat currency settings section to be updated soon.</div>
</div> </div>
</div> </div>
@ -554,17 +544,15 @@ class Settings extends React.Component {
className="panel" className="panel"
id="ExportKeys" id="ExportKeys"
onClick={ () => this.openTab('ExportKeys', 4) }> 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' }> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 4 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 4 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 4 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 4 ? this.state.activeTabHeight + 'px' : '0' }}
id="ExportKeysTab" id="ExportKeysTab">
aria-labelledby="ExportKeys"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<p> <p>
<div>{ this.renderLB('INDEX.ONLY_ACTIVE_WIF_KEYS') }</div><br/> <div>{ this.renderLB('INDEX.ONLY_ACTIVE_WIF_KEYS') }</div><br/>
@ -618,17 +606,15 @@ class Settings extends React.Component {
className="panel" className="panel"
id="ImportKeys" id="ImportKeys"
onClick={ () => this.openTab('ImportKeys', 5) }> 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' }> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 5 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 5 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 5 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 5 ? this.state.activeTabHeight + 'px' : '0' }}
id="ImportKeysTab" id="ImportKeysTab">
aria-labelledby="ImportKeys"
role="tabpanel">
<div className="panel-body"> <div className="panel-body">
<p> <p>
<div>{ translate('INDEX.IMPORT_KEYS_DESC_P1') }</div><br/> <div>{ translate('INDEX.IMPORT_KEYS_DESC_P1') }</div><br/>
@ -667,15 +653,15 @@ class Settings extends React.Component {
className="panel" className="panel"
id="DebugLog" id="DebugLog"
onClick={ () => this.openTab('DebugLog', 6) }> 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' }> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 6 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 6 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 6 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 6 ? this.state.activeTabHeight + 'px' : '0' }}
id="DebugLogTab" aria-labelledby="DebugLog" role="tabpanel"> id="DebugLogTab">
<div className="panel-body"> <div className="panel-body">
<p>{ translate('INDEX.DEBUG_LOG_DESC') }</p> <p>{ translate('INDEX.DEBUG_LOG_DESC') }</p>
<div className="col-sm-12"></div> <div className="col-sm-12"></div>
@ -728,15 +714,15 @@ class Settings extends React.Component {
className="panel" className="panel"
id="AppSettings" id="AppSettings"
onClick={ () => this.openTab('AppSettings', 7) }> 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' }> <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> </a>
</div> </div>
<div <div
className={ this.state.activeTab === 7 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } className={ this.state.activeTab === 7 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style={{ height: this.state.activeTab === 7 ? this.state.activeTabHeight + 'px' : '0' }} style={{ height: this.state.activeTab === 7 ? this.state.activeTabHeight + 'px' : '0' }}
id="DebugLogTab" aria-labelledby="DebugLog" role="tabpanel"> id="DebugLogTab">
<div className="panel-body"> <div className="panel-body">
<p> <p>
<strong>{ translate('SETTINGS.CONFIG_RESTART_REQUIRED') }</strong> <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="progress progress-sm">
<div <div
className={'font-size-80-percent full-width ' + (this.isFullySynced(fork) ? 'progress-bar progress-bar-striped active progress-bar-indicating progress-bar-success' : 'hide') } 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"> 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> { translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">({ fork.coin }) 100.00% - ( { fork.blocks } / { fork.blocks } ) ==&gt;&gt; RT{ fork.RTheight }</span>
</div> </div>
<div <div
className={'font-size-80-percent ' + (this.isFullySynced(fork) ? 'hide' : 'progress-bar progress-bar-info progress-bar-striped active') } className={'font-size-80-percent ' + (this.isFullySynced(fork) ? 'hide' : 'progress-bar progress-bar-info progress-bar-striped active') }
style={{ width: fork.bundles + '%' }} style={{ width: fork.bundles + '%' }}
role="progressbar"
id="currency-bundles"> id="currency-bundles">
{ translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">{ fork.bundles }%</span> { translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">{ fork.bundles }%</span>
</div> </div>
@ -116,7 +114,6 @@ class SyncOnly extends React.Component {
<div <div
className="progress-bar progress-bar-warning progress-bar-striped active font-size-80-percent" className="progress-bar progress-bar-warning progress-bar-striped active font-size-80-percent"
style={{ width: fork.utxo + '%' }} style={{ width: fork.utxo + '%' }}
role="progressbar"
id="currency-utxo"> id="currency-utxo">
utxo <span id="currency-utxo-percent">{ fork.utxo }%</span> utxo <span id="currency-utxo-percent">{ fork.utxo }%</span>
</div> </div>
@ -125,7 +122,6 @@ class SyncOnly extends React.Component {
<div <div
className="progress-bar progress-bar-danger progress-bar-striped active font-size-80-percent" className="progress-bar progress-bar-danger progress-bar-striped active font-size-80-percent"
style={{ width: fork.balances + '%' }} style={{ width: fork.balances + '%' }}
role="progressbar"
id="currency-balances"> id="currency-balances">
{ translate('INDEX.BALANCES') } <span id="currency-balances-percent">{ fork.balances }%</span> { translate('INDEX.BALANCES') } <span id="currency-balances-percent">{ fork.balances }%</span>
</div> </div>
@ -134,7 +130,6 @@ class SyncOnly extends React.Component {
<div <div
className="progress-bar progress-bar-success progress-bar-striped active font-size-80-percent" className="progress-bar progress-bar-success progress-bar-striped active font-size-80-percent"
style={{ width: fork.validated + '%' }} style={{ width: fork.validated + '%' }}
role="progressbar"
id="currency-validated"> id="currency-validated">
{ translate('INDEX.VALIDATED') } <span id="currency-validated-percent">{ fork.validated }%</span> { translate('INDEX.VALIDATED') } <span id="currency-validated-percent">{ fork.validated }%</span>
</div> </div>
@ -197,7 +192,7 @@ class SyncOnly extends React.Component {
this.props.SyncOnly.display) { this.props.SyncOnly.display) {
return ( return (
<div> <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-dialog modal-center modal-lg">
<div className="modal-content"> <div className="modal-content">
<div className="modal-body modal-body-container"> <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 id="wallet-widgets">
<div className="col-xs-12"> <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 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"> <div className="alert alert-info alert-dismissible" id="edexcoin-wallet-waitingrt-alert">
<button aria-label="Close" data-dismiss="alert" className="close" type="button"> <button className="close" type="button">
<span aria-hidden="true">×</span> <span>×</span>
</button> </button>
<h4>{ translate('INDEX.ACTIVATING_WALLET_RT') }</h4> <h4>{ translate('INDEX.ACTIVATING_WALLET_RT') }</h4>
<p id="edexcoin-wallet-waitingrt-alert-text">{ translate('INDEX.IGUANA_FULL_MODE_SYNC_P1') }</p> <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> <p className="font-weight-600">{ this.renderLB('INDEX.IGUANA_FULL_MODE_SYNC_P3') }</p>
</div> </div>
<div role="alert" className="alert alert-info alert-dismissible" id="edexcoin-wallet-waitingcache-alert"> <div className="alert alert-info alert-dismissible" id="edexcoin-wallet-waitingcache-alert">
<button aria-label="Close" data-dismiss="alert" className="close" type="button"> <button className="close" type="button">
<span aria-hidden="true">×</span> <span>×</span>
</button> </button>
<h4>{ translate('INDEX.FETCHING_COIN_DATA') }</h4> <h4>{ translate('INDEX.FETCHING_COIN_DATA') }</h4>
<p id="edexcoin-wallet-waitingcache-alert-text">{ translate('INDEX.IGUANA_FULL_MODE_SYNC_P1') }</p> <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) { this.props.Dashboard.basiliskConnection) {
return ( return (
<div onKeyDown={ (event) => this.handleKeydown(event) }> <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-dialog modal-center modal-md">
<div className="modal-content"> <div className="modal-content">
<div className="modal-header bg-orange-a400 wallet-send-header"> <div className="modal-header bg-orange-a400 wallet-send-header">
<h4 className="modal-title white"> <h4 className="modal-title white">
<span className="icon fa-refresh no-margin"></span> { translate('INDEX.REFRESHING_BASILISK_NET') }... <span className="icon fa-refresh no-margin"></span> { translate('INDEX.REFRESHING_BASILISK_NET') }...
</h4> </h4>
<button type="button" className="close btn-close" aria-label="Close" onClick={ this.basiliskConnectionAction }> <button type="button" className="close btn-close" onClick={ this.basiliskConnectionAction }>
<span aria-hidden="true">&times;</span> <span>&times;</span>
<span className="sr-only">{ translate('INDEX.CLOSE') }</span> <span className="sr-only">{ translate('INDEX.CLOSE') }</span>
</button> </button>
</div> </div>

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

@ -13,7 +13,7 @@ class WalletsBasiliskRefresh extends React.Component {
<div className="panel-heading"> <div className="panel-heading">
<h3 className="panel-title">{ translate('INDEX.FETCHING_BASILISK_DATA') }</h3> <h3 className="panel-title">{ translate('INDEX.FETCHING_BASILISK_DATA') }</h3>
<div className="panel-actions"> <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> </div>
<div className="table-responsive"> <div className="table-responsive">

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

@ -150,14 +150,14 @@ class WalletsCacheData extends React.Component {
return ( return (
<div> <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-dialog modal-center modal-lg">
<div className="modal-content"> <div className="modal-content">
<div className="modal-body modal-body-container"> <div className="modal-body modal-body-container">
<div className="panel nav-tabs-horizontal"> <div className="panel nav-tabs-horizontal">
<div className="panel-body"> <div className="panel-body">
<div className="tab-content"> <div className="tab-content">
<div className="tab-pane active" role="tabpanel"> <div className="tab-pane active">
{ this.renderNotariesFetching() } { this.renderNotariesFetching() }
<Tree defaultExpandAll={ false } openAnimation={ animation }> <Tree defaultExpandAll={ false } openAnimation={ animation }>
{ this.renderCoinRootNodes() } { this.renderCoinRootNodes() }
@ -168,7 +168,10 @@ class WalletsCacheData extends React.Component {
</div> </div>
</div> </div>
<div className="modal-footer"> <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> </div>
</div> </div>

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

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

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

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

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

@ -7,9 +7,9 @@ class WalletsNativeAlert extends React.Component {
this.props.Dashboard && this.props.Dashboard &&
!this.props.Dashboard.progress) { !this.props.Dashboard.progress) {
return ( return (
<div role="alert" className="alert alert-danger alert-dismissible" id="extcoin-wallet-connection-alert"> <div className="alert alert-danger alert-dismissible" id="extcoin-wallet-connection-alert">
<button aria-label="Close" data-dismiss="alert" className="close" type="button"> <button className="close" type="button">
<span aria-hidden="true">×</span> <span>×</span>
</button> </button>
<h4>{ translate('INDEX.OOPS_ERROR') }</h4> <h4>{ translate('INDEX.OOPS_ERROR') }</h4>
<p id="extcoin-wallet-connection-alert-text"> <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 }> <div className={ 'dropdown' + (this.state.openDropMenu ? ' open' : '') } onClick={ this.openDropMenu }>
<a <a
className="dropdown-toggle white btn btn-warning" className="dropdown-toggle white btn btn-warning"
id="GetNewRecievingAddress" id="GetNewRecievingAddress">
href="javascript:void(0)" <i className="icon md-arrows margin-right-10"></i> { translate('INDEX.GET_NEW_ADDRESS') } <span className="caret"></span>
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>
</a> </a>
<ul <ul
className="dropdown-menu dropdown-menu-right" className="dropdown-menu dropdown-menu-right">
aria-labelledby="GetNewRecievingAddress" <li>
role="menu"> <a id="kmd_get_new_taddr"
<li role="presentation">
<a
href="javascript:void(0)"
id="kmd_get_new_taddr"
role="menuitem"
onClick={ () => this.getNewAddress('public') }> 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> </a>
</li> </li>
<li data-extcoin="COIN" role="presentation"> <li>
<a <a id="kmd_get_new_zaddr"
href="javascript:void(0)"
id="kmd_get_new_zaddr"
role="menuitem"
onClick={ () => this.getNewAddress('private') }> 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> </a>
</li> </li>
</ul> </ul>

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

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

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

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

@ -125,8 +125,7 @@ class WalletsNativeTxHistory extends React.Component {
items.push( items.push(
<li className={ this.state.activePage === i + 1 ? 'paginate_button active' : 'paginate_button' }> <li className={ this.state.activePage === i + 1 ? 'paginate_button active' : 'paginate_button' }>
<a <a
aria-controls="kmd-tx-history-tbl" key={ `${i}-pagination` }
tabIndex="0" key={ `${i}-pagination` }
onClick={ this.state.activePage !== (i + 1) ? () => this.updateCurrentPage(i + 1) : null }>{ i + 1 }</a> onClick={ this.state.activePage !== (i + 1) ? () => this.updateCurrentPage(i + 1) : null }>{ i + 1 }</a>
</li> </li>
); );
@ -145,7 +144,6 @@ class WalletsNativeTxHistory extends React.Component {
{ translate('INDEX.SHOW') }&nbsp; { translate('INDEX.SHOW') }&nbsp;
<select <select
name="itemsPerPage" name="itemsPerPage"
aria-controls="kmd-tx-history-tbl"
className="form-control input-sm" className="form-control input-sm"
onChange={ this.updateInput }> onChange={ this.updateInput }>
<option value="10">10</option> <option value="10">10</option>
@ -175,9 +173,7 @@ class WalletsNativeTxHistory extends React.Component {
<div className="col-sm-5"> <div className="col-sm-5">
<div <div
className="dataTables_info" className="dataTables_info"
id="kmd-tx-history-tbl_info" 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>
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>
</div> </div>
<div className="col-sm-7"> <div className="col-sm-7">
<div className="dataTables_paginate paging_simple_numbers" id="kmd-tx-history-tbl_paginate"> <div className="dataTables_paginate paging_simple_numbers" id="kmd-tx-history-tbl_paginate">
@ -185,19 +181,13 @@ class WalletsNativeTxHistory extends React.Component {
<li <li
className={ this.state.activePage === 1 ? 'paginate_button previous disabled' : 'paginate_button previous' } className={ this.state.activePage === 1 ? 'paginate_button previous disabled' : 'paginate_button previous' }
id="kmd-tx-history-tbl_previous"> id="kmd-tx-history-tbl_previous">
<a <a onClick={ () => this.updateCurrentPage(this.state.activePage - 1) }>{ translate('INDEX.PREVIOUS') }</a>
aria-controls="kmd-tx-history-tbl"
tabIndex="0"
onClick={ () => this.updateCurrentPage(this.state.activePage - 1) }>{ translate('INDEX.PREVIOUS') }</a>
</li> </li>
{this.renderPaginationItems()} {this.renderPaginationItems()}
<li <li
className={ _paginationNextState ? 'paginate_button next disabled' : 'paginate_button next' } className={ _paginationNextState ? 'paginate_button next disabled' : 'paginate_button next' }
id="kmd-tx-history-tbl_next"> id="kmd-tx-history-tbl_next">
<a <a onClick={ () => this.updateCurrentPage(this.state.activePage + 1) }>{ translate('INDEX.NEXT') }</a>
aria-controls="kmd-tx-history-tbl"
tabIndex="0"
onClick={ () => this.updateCurrentPage(this.state.activePage + 1) }>{ translate('INDEX.NEXT') }</a>
</li> </li>
</ul> </ul>
</div> </div>
@ -275,7 +265,7 @@ class WalletsNativeTxHistory extends React.Component {
<div className="col-sm-6"> <div className="col-sm-6">
<div id="kmd-tx-history-tbl_filter" className="dataTables_filter"> <div id="kmd-tx-history-tbl_filter" className="dataTables_filter">
<label> <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> </label>
</div> </div>
</div> </div>

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

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

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

@ -55,10 +55,10 @@ class WalletsNav extends React.Component {
return ( return (
<div> <div>
<div className="col-xs-12 padding-top-20" id="no_wallet_selected"> <div className="col-xs-12 padding-top-20" id="no_wallet_selected">
<div className="alert alert-info alert-dismissible" role="alert"> <div className="alert alert-info alert-dismissible">
<button type="button" className="close" data-dismiss="alert" aria-label="Close"></button> <button type="button" className="close"></button>
<span className="font-size-24 text-align-center"> <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> </span>
<br/> <br/>
{ translate('INDEX.PLEASE_SELECT_A_WALLET') }. { translate('INDEX.PLEASE_SELECT_A_WALLET') }.
@ -74,7 +74,7 @@ class WalletsNav extends React.Component {
id="header-dashboard" id="header-dashboard"
style={{ marginBottom: this.props.ActiveCoin.mode === 'basilisk' ? '30px' : '0' }}> style={{ marginBottom: this.props.ActiveCoin.mode === 'basilisk' ? '30px' : '0' }}>
<ol className="breadcrumb"> <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> </ol>
<div className="page-header-actions" id="edexcoin-actions"> <div className="page-header-actions" id="edexcoin-actions">
<div id="kmd_header_button"> <div id="kmd_header_button">
@ -83,21 +83,21 @@ class WalletsNav extends React.Component {
className="btn btn-dark waves-effect waves-light" className="btn btn-dark waves-effect waves-light"
id="btn_edexcoin_dashboard" id="btn_edexcoin_dashboard"
onClick={ this.toggleSendReceiveCoinForms }> 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>
<button <button
type="button" type="button"
className="btn btn-primary waves-effect waves-light" className="btn btn-primary waves-effect waves-light"
id="btn_edexcoin_send" id="btn_edexcoin_send"
onClick={ () => this.toggleSendCoinForm(!this.props.ActiveCoin.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>
<button <button
type="button" type="button"
className="btn btn-info waves-effect waves-light" className="btn btn-info waves-effect waves-light"
id="btn_edexcoin_recieve" id="btn_edexcoin_recieve"
onClick={ () => this.toggleReceiveCoinForm(!this.props.ActiveCoin.receive) }> 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> </button>
</div> </div>
</div> </div>

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

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

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

@ -36,14 +36,12 @@ class WalletsProgress extends React.Component {
<div className="progress progress-sm"> <div className="progress progress-sm">
<div <div
className={ 'full-width font-size-80-percent ' + (this.isFullySynced() ? 'progress-bar progress-bar-striped active progress-bar-indicating progress-bar-success' : 'hide') } className={ 'full-width font-size-80-percent ' + (this.isFullySynced() ? 'progress-bar progress-bar-striped active progress-bar-indicating progress-bar-success' : 'hide') }
role="progressbar"
id="currency-bundles"> 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> { 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>
<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 + '%' }} style={{ width: this.props.Dashboard.progress.bundles + '%' }}
role="progressbar"
id="currency-bundles"> id="currency-bundles">
{ translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">{ this.props.Dashboard.progress.bundles }%</span> { translate('INDEX.BUNDLES') } <span id="currency-bundles-percent">{ this.props.Dashboard.progress.bundles }%</span>
</div> </div>
@ -54,7 +52,6 @@ class WalletsProgress extends React.Component {
<div <div
className="progress-bar progress-bar-warning progress-bar-striped active font-size-80-percent" className="progress-bar progress-bar-warning progress-bar-striped active font-size-80-percent"
style={{ width: this.props.Dashboard.progress.utxo + '%' }} style={{ width: this.props.Dashboard.progress.utxo + '%' }}
role="progressbar"
id="currency-utxo"> id="currency-utxo">
utxo <span id="currency-utxo-percent">{ this.props.Dashboard.progress.utxo }%</span> utxo <span id="currency-utxo-percent">{ this.props.Dashboard.progress.utxo }%</span>
</div> </div>
@ -63,7 +60,6 @@ class WalletsProgress extends React.Component {
<div <div
className="progress-bar progress-bar-danger progress-bar-striped active font-size-80-percent" className="progress-bar progress-bar-danger progress-bar-striped active font-size-80-percent"
style={{ width: this.props.Dashboard.progress.balances + '%' }} style={{ width: this.props.Dashboard.progress.balances + '%' }}
role="progressbar"
id="currency-balances"> id="currency-balances">
{ translate('INDEX.BALANCES') } <span id="currency-balances-percent">{ this.props.Dashboard.progress.balances }%</span> { translate('INDEX.BALANCES') } <span id="currency-balances-percent">{ this.props.Dashboard.progress.balances }%</span>
</div> </div>
@ -72,7 +68,6 @@ class WalletsProgress extends React.Component {
<div <div
className="progress-bar progress-bar-success progress-bar-striped active font-size-80-percent" className="progress-bar progress-bar-success progress-bar-striped active font-size-80-percent"
style={{ width: this.props.Dashboard.progress.validated + '%' }} style={{ width: this.props.Dashboard.progress.validated + '%' }}
role="progressbar"
id="currency-validated"> id="currency-validated">
{ translate('INDEX.VALIDATED') } <span id="currency-validated-percent">{ this.props.Dashboard.progress.validated }%</span> { translate('INDEX.VALIDATED') } <span id="currency-validated-percent">{ this.props.Dashboard.progress.validated }%</span>
</div> </div>

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

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

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

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

4
react/src/translate/en.js

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

Loading…
Cancel
Save