diff --git a/react/src/actions/actionCreators.js b/react/src/actions/actionCreators.js index 997e12d..016d276 100644 --- a/react/src/actions/actionCreators.js +++ b/react/src/actions/actionCreators.js @@ -16,6 +16,7 @@ export const DASHBOARD_ACTIVE_COIN_SEND_FORM = 'DASHBOARD_ACTIVE_COIN_SEND_FORM' export const DASHBOARD_ACTIVE_COIN_RECEIVE_FORM = 'DASHBOARD_ACTIVE_COIN_RECEIVE_FORM'; export const DASHBOARD_ACTIVE_COIN_RESET_FORMS = 'DASHBOARD_ACTIVE_COIN_RESET_FORMS'; export const ATOMIC = 'ATOMIC'; +export const GET_WIF_KEY = 'GET_WIF_KEY'; function atomicState(json) { return { @@ -421,13 +422,39 @@ export function atomic(payload) { }) .catch(function(error) { console.log(error); - dispatch(triggerToaster(true, payload.method, 'Atomic explorer error', 'error')) + dispatch(triggerToaster(true, payload.method, 'Atomic explore error', 'error')) }) .then(response => response.json()) .then(json => dispatch(atomicState(json))); } } +export function test(json) { + console.log('test', json); +} + +export function encryptWallet(_passphrase, cb) { + const payload = { + 'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'), + 'agent': 'bitcoinrpc', + 'method': 'encryptwallet', + 'passphrase': _passphrase + }; + + return dispatch => { + return fetch('http://127.0.0.1:7778', { + method: 'POST', + body: JSON.stringify(payload), + }) + .catch(function(error) { + console.log(error); + dispatch(triggerToaster(true, 'encryptWallet', 'Error', 'error')) + }) + .then(response => response.json()) + .then(json => dispatch(cb.call(this, json))); + } +} + /*function Shepherd_SysInfo() { return new Promise((resolve) => { $.ajax({ diff --git a/react/src/components/app/app.js b/react/src/components/app/app.js index d011c8d..b03538f 100644 --- a/react/src/components/app/app.js +++ b/react/src/components/app/app.js @@ -11,6 +11,7 @@ function mapStateToProps(state) { Dashboard: state.Dashboard, ActiveCoin: state.ActiveCoin, Atomic: state.Atomic, + Settings: state.Settings, }; } diff --git a/react/src/components/dashboard/about.js b/react/src/components/dashboard/about.js new file mode 100644 index 0000000..3f11be5 --- /dev/null +++ b/react/src/components/dashboard/about.js @@ -0,0 +1,17 @@ +import React from 'react'; +import { translate } from '../../translate/translate'; + +class About extends React.Component { + render() { + return( + <div className="page" data-animsition-in="fade-in" data-animsition-out="fade-out" style={{marginLeft: '0'}}> + <div className="page-content" id="section-about-iguana"> + <h2>About Iguana</h2> + <p>Page content goes here</p> + </div> + </div> + ); + } +} + +export default About; diff --git a/react/src/components/dashboard/atomic.js b/react/src/components/dashboard/atomic.js index 88aa7e8..b1f331a 100644 --- a/react/src/components/dashboard/atomic.js +++ b/react/src/components/dashboard/atomic.js @@ -25,21 +25,18 @@ class Atomic extends React.Component { this.setState(Object.assign({}, this.state, { 'api': e.target.value, })); - console.log('this', this.state); } updateSelectedCoin(e) { this.setState(Object.assign({}, this.state, { 'coin': e.target.value.split('|')[0], })); - console.log('this', this.state); } updateInput(e) { this.setState(Object.assign({}, this.state, { 'input': e.target.value, })); - console.log('this', this.state); } getAtomicData() { @@ -326,7 +323,6 @@ class Atomic extends React.Component { } componentWillReceiveProps(props) { - console.log('atomicprops', props.Atomic.response); if (props && props.Atomic.response) { if (this.state.api === 'txid' || this.state.api === 'dex_getbestblockhash' || diff --git a/react/src/components/dashboard/dashboard.js b/react/src/components/dashboard/dashboard.js index 7ad645e..90782db 100644 --- a/react/src/components/dashboard/dashboard.js +++ b/react/src/components/dashboard/dashboard.js @@ -11,6 +11,8 @@ import WalletsData from './walletsData'; import Atomic from './atomic'; import Jumblr from './jumblr'; import Settings from './settings'; +import ReceiveCoin from './receiveCoin'; +import About from './about'; class Dashboard extends React.Component { constructor(props) { @@ -21,7 +23,7 @@ class Dashboard extends React.Component { } renderDashboard() { - document.body.className = 'page-login'; + document.body.className = ''; // <WalletsHeader {...this.props.ActiveCoin} /> return ( <div style={{height: '100%'}}> @@ -33,6 +35,7 @@ class Dashboard extends React.Component { <WalletsProgress {...this.props} /> <WalletsBalance {...this.props.ActiveCoin} /> <SendCoin {...this.props.ActiveCoin} /> + <ReceiveCoin {...this.props.ActiveCoin} /> <WalletsData {...this.props.ActiveCoin} /> </div> <div className={this.props.Dashboard.activeSection === 'edex' ? 'show' : 'hide'}> @@ -47,6 +50,9 @@ class Dashboard extends React.Component { <div className={this.props.Dashboard.activeSection === 'settings' ? 'show' : 'hide'}> <Settings {...this.props} /> </div> + <div className={this.props.Dashboard.activeSection === 'about' ? 'show' : 'hide'}> + <About {...this.props} /> + </div> </div> </div> ); diff --git a/react/src/components/dashboard/edex.js b/react/src/components/dashboard/edex.js index 4563481..1f966f3 100644 --- a/react/src/components/dashboard/edex.js +++ b/react/src/components/dashboard/edex.js @@ -4,7 +4,7 @@ import { translate } from '../../translate/translate'; class EDEX extends React.Component { render() { return ( - <div className="page animsition" data-animsition-in="fade-in" data-animsition-out="fade-out" style={{marginLeft: '0px'}}> + <div className="page" data-animsition-in="fade-in" data-animsition-out="fade-out" style={{marginLeft: '0px'}}> <div className="page-content" id="section-easydex"> <h2>Coming Soon!</h2> </div> diff --git a/react/src/components/dashboard/navbar.js b/react/src/components/dashboard/navbar.js index 67cf3d2..d817180 100644 --- a/react/src/components/dashboard/navbar.js +++ b/react/src/components/dashboard/navbar.js @@ -66,22 +66,22 @@ class Navbar extends React.Component { </i> </a> </li> - <li className="active nav-top-menu"> + <li className={this.props.Dashboard.activeSection === 'wallets' ? 'active nav-top-menu' : 'nav-top-menu'}> <a href="javascript:void(0)" id="nav-dashboard" onClick={() => this.dashboardChangeSection('wallets')}> <i className="site-menu-icon" aria-hidden="true"></i> {translate('INDEX.WALLETS')} </a> </li> - <li className="nav-top-menu"> + <li className={this.props.Dashboard.activeSection === 'edex' ? 'active nav-top-menu' : 'nav-top-menu'}> <a href="javascript:void(0)" id="nav-easydex" onClick={() => this.dashboardChangeSection('edex')}> <i className="site-menu-icon" aria-hidden="true"></i> EasyDEX </a> </li> - <li className="nav-top-menu"> + <li className={this.props.Dashboard.activeSection === 'jumblr' ? 'active nav-top-menu' : 'nav-top-menu'}> <a href="javascript:void(0)" id="nav-jumblr" onClick={() => this.dashboardChangeSection('jumblr')}> <i className="site-menu-icon" aria-hidden="true"></i> Jumblr </a> </li> - <li className="nav-top-menu"> + <li className={this.props.Dashboard.activeSection === 'atomic' ? 'active nav-top-menu' : 'nav-top-menu'}> <a href="javascript:void(0)" id="nav-iguana-atomic-explorer" onClick={() => this.dashboardChangeSection('atomic')}> <i className="site-menu-icon" aria-hidden="true"></i> Atomic Explorer </a> diff --git a/react/src/components/dashboard/receiveCoin.js b/react/src/components/dashboard/receiveCoin.js index de0e39d..973a9f1 100644 --- a/react/src/components/dashboard/receiveCoin.js +++ b/react/src/components/dashboard/receiveCoin.js @@ -3,565 +3,554 @@ import { translate } from '../../translate/translate'; class ReceiveCoin extends React.Component { render() { - return ( - <div className="page" data-animsition-in="fade-in" data-animsition-out="fade-out" style={{margin-left: '0'}}> - <div className="page-content" data-extcoin="COIN" id="section-extcoin"> - <div role="alert" className="alert alert-danger alert-dismissible" data-extcoin="COIN" id="extcoin-wallet-connection-alert" style="display: none"> - <button aria-label="Close" data-dismiss="alert" className="close" type="button"> - <span aria-hidden="true">×</span> - </button> - <h4>{translate('INDEX.OOPS_ERROR')}</h4> - <p data-extcoin="COIN" id="extcoin-wallet-connection-alert-text"> - <span data-lang="INDEX.OOPS_ERROR_DESC"></span> - <code>server=1</code><br/> - <code>rpcport=</code><br/> - <code>rpcuser=</code><br/> - <code>rpcpassword=</code> - </p> - </div> - - <div role="alert" className="alert alert-info alert-dismissible" data-extcoin="COIN" id="extcoin-wallet-activating-alert" style="display: none"> - <button aria-label="Close" data-dismiss="alert" className="close" type="button"> - <span aria-hidden="true">×</span> - </button> - <h4> - {translate('INDEX.ACTIVATING_CHAIN')}<span id="activating-komodod-tridot">...</span><span id="activating-komodod-progress"></span> - </h4> - <p data-extcoin="COIN" id="extcoin-wallet-connection-alert-text">{translate('INDEX.KMD_STARTED')}</p> - </div> + console.log('receiveprops', this.props); + if (this.props && this.props.receive) { + return ( + <div className="page" data-animsition-in="fade-in" data-animsition-out="fade-out" style={{marginLeft: '0'}}> + <div className="page-content" data-extcoin="COIN" id="section-extcoin"> + <div role="alert" className="alert alert-danger alert-dismissible" data-extcoin="COIN" id="extcoin-wallet-connection-alert"> + <button aria-label="Close" data-dismiss="alert" className="close" type="button"> + <span aria-hidden="true">×</span> + </button> + <h4>{translate('INDEX.OOPS_ERROR')}</h4> + <p data-extcoin="COIN" id="extcoin-wallet-connection-alert-text"> + <span data-lang="INDEX.OOPS_ERROR_DESC"></span> + <code>server=1</code><br/> + <code>rpcport=</code><br/> + <code>rpcuser=</code><br/> + <code>rpcpassword=</code> + </p> + </div> - <div className="row" data-extcoin="COIN" style={{margin: '-20px 0px 10px 0px'}}> - <div className="col-xs-12" data-extcoin="COIN" id="extcoin-progressbars"> - <div className="progress"> - <div className="progress-bar progress-bar-info progress-bar-striped active" style={{width: '0%', fontSize: '80%'}} role="progressbar" data-extcoin="COIN" id="extcoin-sync"> - <span data-extcoin="COIN" id="extcoin-sync-percent">-</span> | <span data-extcoin="COIN" id="extcoin-synced-blocks">-</span> / <span data-extcoin="COIN" id="extcoin-longestchain">-</span> | <span data-lang="INDEX.CONNECTIONS"></span>: <span data-extcoin="COIN" id="extcoin-connections">-</span> - </div> - </div> + <div role="alert" className="alert alert-info alert-dismissible" data-extcoin="COIN" id="extcoin-wallet-activating-alert"> + <button aria-label="Close" data-dismiss="alert" className="close" type="button"> + <span aria-hidden="true">×</span> + </button> + <h4> + {translate('INDEX.ACTIVATING_CHAIN')}<span id="activating-komodod-tridot">...</span><span id="activating-komodod-progress"></span> + </h4> + <p data-extcoin="COIN" id="extcoin-wallet-connection-alert-text">{translate('INDEX.KMD_STARTED')}</p> </div> - </div> - <div className="row" data-extcoin="COIN" id="extcoin-wallet" data-plugin="masonry"> - <div className="col-xs-12"> - <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_t"> - <div className="widget widget-shadow" id="widgetLineareaOne"> - <div className="widget-content white bg-yellow-800"> - <div className="padding-20 padding-top-10"> - <div className="clearfix"> - <div className="pull-left padding-vertical-10"> - <i className="icon fa-eye font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.TRANSPARENT_BALANCE')} - </div> - <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_transparent_balance" style={{fontSize: '22px'}}>-</span> - </div> - </div> + <div className="row" data-extcoin="COIN" style={{margin: '-20px 0px 10px 0px'}}> + <div className="col-xs-12" data-extcoin="COIN" id="extcoin-progressbars"> + <div className="progress"> + <div className="progress-bar progress-bar-info progress-bar-striped active" style={{width: '0%', fontSize: '80%'}} role="progressbar" data-extcoin="COIN" id="extcoin-sync"> + <span data-extcoin="COIN" id="extcoin-sync-percent">-</span> | <span data-extcoin="COIN" id="extcoin-synced-blocks">-</span> / <span data-extcoin="COIN" id="extcoin-longestchain">-</span> | <span data-lang="INDEX.CONNECTIONS"></span>: <span data-extcoin="COIN" id="extcoin-connections">-</span> </div> </div> </div> + </div> - <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_z"> - <div className="widget widget-shadow" id="widgetLineareaOne"> - <div className="widget-content white bg-blue-grey-800"> - <div className="padding-20 padding-top-10"> - <div className="clearfix"> - <div className="pull-left padding-vertical-10"> - <i className="icon fa-eye-slash font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.Z_BALANCE')} + <div className="row" data-extcoin="COIN" id="extcoin-wallet" data-plugin="masonry"> + <div className="col-xs-12"> + <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_t"> + <div className="widget widget-shadow" id="widgetLineareaOne"> + <div className="widget-content white bg-yellow-800"> + <div className="padding-20 padding-top-10"> + <div className="clearfix"> + <div className="pull-left padding-vertical-10"> + <i className="icon fa-eye font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.TRANSPARENT_BALANCE')} + </div> + <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_transparent_balance" style={{fontSize: '22px'}}>-</span> </div> - <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_private_balance" style={{fontSize: '22px'}}>-</span> </div> </div> </div> </div> - </div> - <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_i"> - <div className="widget widget-shadow" id="widgetLineareaOne"> - <div className="widget-content white bg-cyan-700"> - <div className="padding-20 padding-top-10"> - <div className="clearfix"> - <div className="pull-left padding-vertical-10"> - <i className="icon fa-money font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.INTEREST_EARNED')} + <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_z"> + <div className="widget widget-shadow" id="widgetLineareaOne"> + <div className="widget-content white bg-blue-grey-800"> + <div className="padding-20 padding-top-10"> + <div className="clearfix"> + <div className="pull-left padding-vertical-10"> + <i className="icon fa-eye-slash font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.Z_BALANCE')} + </div> + <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_private_balance" style={{fontSize: '22px'}}>-</span> </div> - <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_total_interest_balance" style={{fontSize: '22px'}}>-</span> </div> </div> </div> </div> - </div> - <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_tzi"> - <div className="widget widget-shadow" id="widgetLineareaOne"> - <div className="widget-content white bg-green-600"> - <div className="padding-20 padding-top-10"> - <div className="clearfix"> - <div className="pull-left padding-vertical-10"> - <i className="icon fa-bullseye font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.ZT_BALANCE')} + <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_i"> + <div className="widget widget-shadow" id="widgetLineareaOne"> + <div className="widget-content white bg-cyan-700"> + <div className="padding-20 padding-top-10"> + <div className="clearfix"> + <div className="pull-left padding-vertical-10"> + <i className="icon fa-money font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.INTEREST_EARNED')} + </div> + <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_total_interest_balance" style={{fontSize: '22px'}}>-</span> </div> - <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_total_tz_balance" style={{fontSize: '22px'}}>-</span> </div> </div> </div> </div> - </div> - </div> - <div data-extcoin="COIN" id="kmd_wallet_dashboardinfo"> - <div className="col-xs-12 margin-top-20"> - <div className="panel nav-tabs-horizontal"> - <div data-extcoin="COIN" id="kmd_wallet_dashoard_section"> - <div className="col-xlg-12 col-lg-12 col-sm-12 col-xs-12"> - <div className="panel"> - <header className="panel-heading"> - <h3 className="panel-title">{translate('INDEX.TRANSACTION_HISTORY')}</h3> - </header> - <div className="panel-body"> - <table className="table table-hover dataTable table-striped" data-extcoin="COIN" id="kmd-tx-history-tbl" width="100%"> - <thead> - <tr> - <th>{translate('INDEX.TYPE')}</th> - <th>{translate('INDEX.DIRECTION')}</th> - <th>{translate('INDEX.CONFIRMATIONS')}</th> - <th>{translate('INDEX.AMOUNT')}</th> - <th>{translate('INDEX.TIME')}</th> - <th>{translate('INDEX.DEST_ADDRESS')}</th> - <th>{translate('INDEX.TX_DETAIL')}</th> - </tr> - </thead> - <tfoot> - <tr> - <th>{translate('INDEX.TYPE')}</th> - <th>{translate('INDEX.DIRECTION')}</th> - <th>{translate('INDEX.CONFIRMATIONS')}</th> - <th>{translate('INDEX.AMOUNT')}</th> - <th>{translate('INDEX.TIME')}</th> - <th>{translate('INDEX.DEST_ADDRESS')}</th> - <th>{translate('INDEX.TX_DETAIL')}</th> - </tr> - </tfoot> - </table> + <div className="col-lg-3 col-xs-12" data-extcoin="COIN" id="kmd_widget_get_total_balance_tzi"> + <div className="widget widget-shadow" id="widgetLineareaOne"> + <div className="widget-content white bg-green-600"> + <div className="padding-20 padding-top-10"> + <div className="clearfix"> + <div className="pull-left padding-vertical-10"> + <i className="icon fa-bullseye font-size-24 vertical-align-bottom margin-right-5"></i>{translate('INDEX.ZT_BALANCE')} + </div> + <span className="pull-right padding-top-10" data-extcoin="COIN" id="kmd_total_tz_balance" style={{fontSize: '22px'}}>-</span> </div> </div> </div> </div> </div> </div> - </div> - <div data-extcoin="COIN" id="kmd_wallet_recieve"> - <div className="col-xs-12 margin-top-20"> - <div className="panel nav-tabs-horizontal"> - <div data-extcoin="COIN" id="kmd_wallet_recieve_section"> - <div className="col-xlg-12 col-lg-12 col-sm-12 col-xs-12"> - <div className="panel"> - <header className="panel-heading"> - <div className="panel-actions"> - <div className="dropdown"> - <a className="dropdown-toggle white btn btn-warning" data-extcoin="COIN" id="GetNewRecievingAddress" data-toggle="dropdown" href="javascript:void(0)" aria-expanded="false" role="button"> - <i className="icon md-arrows margin-right-10" aria-hidden="true"></i> {translate('INDEX.GET_NEW_ADDRESS')} <span className="caret"></span> - </a> - <ul className="dropdown-menu dropdown-menu-right" aria-labelledby="GetNewRecievingAddress" role="menu"> - <li role="presentation"> - <a href="javascript:void(0)" data-extcoin="COIN" id="kmd_get_new_taddr" role="menuitem"> - <i className="icon fa-eye" aria-hidden="true"></i> {translate('INDEX.TRANSPARENT_ADDRESS')} - </a> - </li> - <li data-extcoin="COIN" role="presentation"> - <a href="javascript:void(0)" data-extcoin="COIN" id="kmd_get_new_zaddr" role="menuitem"> - <i className="icon fa-eye-slash" aria-hidden="true"></i> {translate('INDEX.PRIVATE_Z_ADDRESS')} - </a> - </li> - </ul> - </div> + <div data-extcoin="COIN" id="kmd_wallet_dashboardinfo"> + <div className="col-xs-12 margin-top-20"> + <div className="panel nav-tabs-horizontal"> + <div data-extcoin="COIN" id="kmd_wallet_dashoard_section"> + <div className="col-xlg-12 col-lg-12 col-sm-12 col-xs-12"> + <div className="panel"> + <header className="panel-heading"> + <h3 className="panel-title">{translate('INDEX.TRANSACTION_HISTORY')}</h3> + </header> + <div className="panel-body"> + <table className="table table-hover dataTable table-striped" data-extcoin="COIN" id="kmd-tx-history-tbl" width="100%"> + <thead> + <tr> + <th>{translate('INDEX.TYPE')}</th> + <th>{translate('INDEX.DIRECTION')}</th> + <th>{translate('INDEX.CONFIRMATIONS')}</th> + <th>{translate('INDEX.AMOUNT')}</th> + <th>{translate('INDEX.TIME')}</th> + <th>{translate('INDEX.DEST_ADDRESS')}</th> + <th>{translate('INDEX.TX_DETAIL')}</th> + </tr> + </thead> + <tfoot> + <tr> + <th>{translate('INDEX.TYPE')}</th> + <th>{translate('INDEX.DIRECTION')}</th> + <th>{translate('INDEX.CONFIRMATIONS')}</th> + <th>{translate('INDEX.AMOUNT')}</th> + <th>{translate('INDEX.TIME')}</th> + <th>{translate('INDEX.DEST_ADDRESS')}</th> + <th>{translate('INDEX.TX_DETAIL')}</th> + </tr> + </tfoot> + </table> </div> - <h3 className="panel-title">{translate('INDEX.RECEIVING_ADDRESS')}</h3> - </header> - <div className="panel-body"> - <table className="table table-hover dataTable table-striped" data-extcoin="COIN" id="kmd-recieve-addr-tbl"> - <thead> - <tr> - <th data-lang="INDEX.TYPE">{translate('INDEX.TYPE')}</th> - <th data-lang="INDEX.ADDRESS">{translate('INDEX.ADDRESS')}</th> - </tr> - </thead> - <tfoot> - <tr> - <th data-lang="INDEX.TYPE">{translate('INDEX.TYPE')}</th> - <th data-lang="INDEX.ADDRESS">{translate('INDEX.ADDRESS')}</th> - </tr> - </tfoot> - </table> </div> </div> </div> </div> </div> </div> - </div> - <div data-extcoin="COIN" id="kmd_wallet_send"> - <div className="col-xlg-12 col-md-12 col-sm-12 col-xs-12"> - <div className="panel" id="projects"> - <div className="panel-heading"> - <h3 data-extcoin="COIN" className="panel-title"> - {translate('INDEX.SEND')} <span data-extcoinname="COIN"></span> - </h3> - </div> - <div className="panel-body container-fluid"> - <form className="extcoin-send-form" data-extcoin="COIN" method="post" role="form" autocomplete="off" onsubmit="return false"> - <div className="row"> - <div className="col-xlg-12 form-group form-material"> - <label className="control-label" data-extcoin="COIN" for="kmd_wallet_send_from">{translate('INDEX.SEND_FROM')}</label> - <select className="form-control form-material showkmdwalletaddrs show-tick" data-extcoin="COIN" id="kmd_wallet_send_from" title="Select Transparent or Private Address" data-size="5"></select> - </div> - <div className="col-xlg-12 form-group form-material"> - <label className="control-label" data-extcoin="COIN" for="kmd_wallet_sendto">{translate('INDEX.SEND_TO')}</label> - <input type="text" className="form-control" data-extcoin="COIN" id="kmd_wallet_sendto" name="kmd_wallet_sendto" placeholder="Enter Transparent or Private address" autocomplete="off" required /> - </div> - <div className="col-lg-6 form-group form-material"> - <label className="control-label" for="kmd_wallet_amount" data-extcoin="COIN" id="kmd_wallet_amount_label"> - <span data-extcoinname="COIN"></span> - </label> - <input type="text" className="form-control" data-extcoin="COIN" id="kmd_wallet_amount" name="kmd_wallet_amount" placeholder="0.000" autocomplete="off" /> - </div> - <div className="col-lg-6 form-group form-material"> - <label className="control-label" data-extcoin="COIN" for="kmd_wallet_fee">{translate('INDEX.FEE')}</label> - <input type="text" className="form-control" data-extcoin="COIN" id="kmd_wallet_fee" name="kmd_wallet_fee" placeholder="0.000" value="0.0001" autocomplete="off" /> - </div> - <div className="col-lg-12"> - <span data-extcoin="KMD"> - <b>{translate('INDEX.TOTAL')} (<span data-extcoinname="COIN"></span> - txfee):</b> <span data-extcoin="COIN" id="kmd_wallet_total_value">0.000</span> <span data-extcoin="COIN" id="kmd_wallet_total_coinname" data-extcoinname="COIN"></span> - </span> - </div> - <div className="col-lg-12"> - <button type="submit" className="btn btn-primary waves-effect waves-light pull-right" data-toggle="modal" id="kmd_wallet_send_coins_btn"> - {translate('INDEX.SEND')} <span data-extcoinname="COIN"></span> - </button> - </div> - </div> - </form> - </div> - </div> - </div> - - <div className="col-xs-12"> - <div className="row"> + <div data-extcoin="COIN" id="kmd_wallet_recieve"> + <div className="col-xs-12 margin-top-20"> <div className="panel nav-tabs-horizontal"> - <div data-extcoin="COIN" id="kmd_wallet_opids_status_section"> + <div data-extcoin="COIN" id="kmd_wallet_recieve_section"> <div className="col-xlg-12 col-lg-12 col-sm-12 col-xs-12"> <div className="panel"> <header className="panel-heading"> <div className="panel-actions"> - <button className="btn btn-info btn-block" id="kmd_opids_status_btn" type="button"> - <i className="icon fa-repeat" aria-hidden="true"></i> {translate('INDEX.REFRESH')} - </button> + <div className="dropdown"> + <a className="dropdown-toggle white btn btn-warning" data-extcoin="COIN" id="GetNewRecievingAddress" data-toggle="dropdown" href="javascript:void(0)" aria-expanded="false" role="button"> + <i className="icon md-arrows margin-right-10" aria-hidden="true"></i> {translate('INDEX.GET_NEW_ADDRESS')} <span className="caret"></span> + </a> + <ul className="dropdown-menu dropdown-menu-right" aria-labelledby="GetNewRecievingAddress" role="menu"> + <li role="presentation"> + <a href="javascript:void(0)" data-extcoin="COIN" id="kmd_get_new_taddr" role="menuitem"> + <i className="icon fa-eye" aria-hidden="true"></i> {translate('INDEX.TRANSPARENT_ADDRESS')} + </a> + </li> + <li data-extcoin="COIN" role="presentation"> + <a href="javascript:void(0)" data-extcoin="COIN" id="kmd_get_new_zaddr" role="menuitem"> + <i className="icon fa-eye-slash" aria-hidden="true"></i> {translate('INDEX.PRIVATE_Z_ADDRESS')} + </a> + </li> + </ul> + </div> </div> - <h3 className="panel-title">{translate('INDEX.OPERATIONS_STATUSES')}</h3> + <h3 className="panel-title">{translate('INDEX.RECEIVING_ADDRESS')}</h3> </header> <div className="panel-body"> - <table className="table table-hover dataTable table-striped" data-extcoin="COIN" id="kmd-opid-status-tbl" width="100%"> + <table className="table table-hover dataTable table-striped" data-extcoin="COIN" id="kmd-recieve-addr-tbl"> <thead> <tr> - <th data-lang="INDEX.STATUS">{translate('INDEX.STATUS')}</th> - <th>ID</th> - <th data-lang="INDEX.TIME">{translate('INDEX.TIME')}</th> - <th data-lang="INDEX.RESULT">{translate('INDEX.RESULT')}</th> + <th data-lang="INDEX.TYPE">{translate('INDEX.TYPE')}</th> + <th data-lang="INDEX.ADDRESS">{translate('INDEX.ADDRESS')}</th> </tr> </thead> <tfoot> <tr> - <th data-lang="INDEX.STATUS">{translate('INDEX.STATUS')}</th> - <th>ID</th> - <th data-lang="INDEX.TIME">{translate('INDEX.TIME')}</th> - <th data-lang="INDEX.RESULT">{translate('INDEX.RESULT')}</th> + <th data-lang="INDEX.TYPE">{translate('INDEX.TYPE')}</th> + <th data-lang="INDEX.ADDRESS">{translate('INDEX.ADDRESS')}</th> </tr> </tfoot> </table> </div> </div> - <!-- End Panel FixedHeader --> </div> </div> - <!-- End KMD opid status --> </div> </div> - <!-- End Komodo Wallet send opid status tab --> </div> - </div> - <div data-extcoin="COIN" id="kmd_wallet_settings" style="display: none"> - <div className="col-xlg-6 col-md-4"> - <!-- Panel Wallet Info --> - <div className="panel" id="projects"> - <div className="panel-heading"> - <h3 className="panel-title" data-lang="INDEX.WALLET_INFO"></h3> + <div data-extcoin="COIN" id="kmd_wallet_send"> + <div className="col-xlg-12 col-md-12 col-sm-12 col-xs-12"> + <div className="panel" id="projects"> + <div className="panel-heading"> + <h3 data-extcoin="COIN" className="panel-title"> + {translate('INDEX.SEND')} <span data-extcoinname="COIN"></span> + </h3> + </div> + <div className="panel-body container-fluid"> + <form className="extcoin-send-form" data-extcoin="COIN" method="post" role="form" autocomplete="off" onsubmit="return false"> + <div className="row"> + <div className="col-xlg-12 form-group form-material"> + <label className="control-label" data-extcoin="COIN" for="kmd_wallet_send_from">{translate('INDEX.SEND_FROM')}</label> + <select className="form-control form-material showkmdwalletaddrs show-tick" data-extcoin="COIN" id="kmd_wallet_send_from" title="Select Transparent or Private Address" data-size="5"></select> + </div> + <div className="col-xlg-12 form-group form-material"> + <label className="control-label" data-extcoin="COIN" for="kmd_wallet_sendto">{translate('INDEX.SEND_TO')}</label> + <input type="text" className="form-control" data-extcoin="COIN" id="kmd_wallet_sendto" name="kmd_wallet_sendto" placeholder="Enter Transparent or Private address" autocomplete="off" required /> + </div> + <div className="col-lg-6 form-group form-material"> + <label className="control-label" for="kmd_wallet_amount" data-extcoin="COIN" id="kmd_wallet_amount_label"> + <span data-extcoinname="COIN"></span> + </label> + <input type="text" className="form-control" data-extcoin="COIN" id="kmd_wallet_amount" name="kmd_wallet_amount" placeholder="0.000" autocomplete="off" /> + </div> + <div className="col-lg-6 form-group form-material"> + <label className="control-label" data-extcoin="COIN" for="kmd_wallet_fee">{translate('INDEX.FEE')}</label> + <input type="text" className="form-control" data-extcoin="COIN" id="kmd_wallet_fee" name="kmd_wallet_fee" placeholder="0.000" value="0.0001" autocomplete="off" /> + </div> + <div className="col-lg-12"> + <span data-extcoin="KMD"> + <b>{translate('INDEX.TOTAL')} (<span data-extcoinname="COIN"></span> - txfee):</b> <span data-extcoin="COIN" id="kmd_wallet_total_value">0.000</span> <span data-extcoin="COIN" id="kmd_wallet_total_coinname" data-extcoinname="COIN"></span> + </span> + </div> + <div className="col-lg-12"> + <button type="submit" className="btn btn-primary waves-effect waves-light pull-right" data-toggle="modal" id="kmd_wallet_send_coins_btn"> + {translate('INDEX.SEND')} <span data-extcoinname="COIN"></span> + </button> + </div> + </div> + </form> + </div> </div> - <div className="table-responsive"> - <table className="table table-striped"> - <tbody> - <tr> - <td data-lang="INDEX.WALLET_VERSION"></td> - <td> - <span data-extcoin="COIN" id="kmd_walletversion"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.BALANCE"></td> - <td> - <span data-extcoin="COIN" id="kmd_balance"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.UNCONFIRMED_BALANCE"></td> - <td> - <span data-extcoin="COIN" id="kmd_unconfirmed_balance"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.IMMATURE_BALANCE"></td> - <td> - <span data-extcoin="COIN" id="kmd_immature_balance"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.TOTAL_TX_COUNT"></td> - <td> - <span data-extcoin="COIN" id="KMDTotalTransactionsCount"></span> - </td> - </tr> - </tbody> - </table> + </div> + + <div className="col-xs-12"> + <div className="row"> + <div className="panel nav-tabs-horizontal"> + <div data-extcoin="COIN" id="kmd_wallet_opids_status_section"> + <div className="col-xlg-12 col-lg-12 col-sm-12 col-xs-12"> + <div className="panel"> + <header className="panel-heading"> + <div className="panel-actions"> + <button className="btn btn-info btn-block" id="kmd_opids_status_btn" type="button"> + <i className="icon fa-repeat" aria-hidden="true"></i> {translate('INDEX.REFRESH')} + </button> + </div> + <h3 className="panel-title">{translate('INDEX.OPERATIONS_STATUSES')}</h3> + </header> + <div className="panel-body"> + <table className="table table-hover dataTable table-striped" data-extcoin="COIN" id="kmd-opid-status-tbl" width="100%"> + <thead> + <tr> + <th data-lang="INDEX.STATUS">{translate('INDEX.STATUS')}</th> + <th>ID</th> + <th data-lang="INDEX.TIME">{translate('INDEX.TIME')}</th> + <th data-lang="INDEX.RESULT">{translate('INDEX.RESULT')}</th> + </tr> + </thead> + <tfoot> + <tr> + <th data-lang="INDEX.STATUS">{translate('INDEX.STATUS')}</th> + <th>ID</th> + <th data-lang="INDEX.TIME">{translate('INDEX.TIME')}</th> + <th data-lang="INDEX.RESULT">{translate('INDEX.RESULT')}</th> + </tr> + </tfoot> + </table> + </div> + </div> + </div> + </div> + </div> </div> </div> - <!-- End Panel Wallet Info --> </div> - <div className="col-xlg-6 col-md-8"> - <!-- Panel getinfo --> - <div className="panel" id="projects"> - <div className="panel-heading"> - <h3 className="panel-title"> - <span data-extcointitle="COIN">Komodo</span> <span data-lang="INDEX.INFO"></span> - </h3> + + <div data-extcoin="COIN" id="kmd_wallet_settings"> + <div className="col-xlg-6 col-md-4"> + <div className="panel" id="projects"> + <div className="panel-heading"> + <h3 className="panel-title">{translate('INDEX.WALLET_INFO')}</h3> + </div> + <div className="table-responsive"> + <table className="table table-striped"> + <tbody> + <tr> + <td>{translate('INDEX.WALLET_VERSION')}</td> + <td> + <span data-extcoin="COIN" id="kmd_walletversion"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.BALANCE')}</td> + <td> + <span data-extcoin="COIN" id="kmd_balance"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.UNCONFIRMED_BALANCE')}</td> + <td> + <span data-extcoin="COIN" id="kmd_unconfirmed_balance"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.IMMATURE_BALANCE')}</td> + <td> + <span data-extcoin="COIN" id="kmd_immature_balance"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.TOTAL_TX_COUNT')}</td> + <td> + <span data-extcoin="COIN" id="KMDTotalTransactionsCount"></span> + </td> + </tr> + </tbody> + </table> + </div> </div> - <div className="table-responsive"> - <table className="table table-striped"> - <tbody> - <tr> - <td data-lang="INDEX.VERSION"></td> - <td> - <span data-extcoin="COIN" id="kmd_version"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.PROTOCOL_VERSION"></td> - <td> - <span data-extcoin="COIN" id="kmd_protocolversion"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.NOTARIZED"></td> - <td> - <span data-extcoin="COIN" id="kmd_notarized"></span> - </td> - </tr> - <tr> - <td> - <span data-lang="INDEX.NOTARIZED"></span> Hash - </td> - <td> - <span data-extcoin="COIN" id="kmd_notarizedhash"></span> - </td> - </tr> - <tr> - <td> - <span data-lang="INDEX.NOTARIZED"></span> BTC - </td> - <td> - <span data-extcoin="COIN" id="kmd_notarizedbtc"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.BLOCKS"></td> - <td> - <span data-extcoin="COIN" id="kmd_blocks"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.CONNECTIONS"></td> - <td> - <span data-extcoin="COIN" id="kmd_connections"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.DIFFICULTY"></td> - <td> - <span data-extcoin="COIN" id="kmd_difficulty"></span> - </td> - </tr> - <tr> - <td>Testnet</td> - <td> - <span data-extcoin="COIN" id="kmd_testnet"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.PAY_TX_FEE"></td> - <td> - <span data-extcoin="COIN" id="kmd_paytxfee"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.RELAY_FEE"></td> - <td> - <span data-extcoin="COIN" id="kmd_relayfee"></span> - </td> - </tr> - <tr> - <td data-lang="INDEX.ERRORS"></td> - <td> - <span data-extcoin="COIN" id="kmd_errors"></span> - </td> - </tr> - </tbody> - </table> + </div> + + <div className="col-xlg-6 col-md-8"> + <div className="panel" id="projects"> + <div className="panel-heading"> + <h3 className="panel-title"> + <span data-extcointitle="COIN">Komodo</span> {translate('INDEX.INFO')} + </h3> + </div> + <div className="table-responsive"> + <table className="table table-striped"> + <tbody> + <tr> + <td>{translate('INDEX.VERSION')}</td> + <td> + <span data-extcoin="COIN" id="kmd_version"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.PROTOCOL_VERSION')}</td> + <td> + <span data-extcoin="COIN" id="kmd_protocolversion"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.NOTARIZED')}</td> + <td> + <span data-extcoin="COIN" id="kmd_notarized"></span> + </td> + </tr> + <tr> + <td> + {translate('INDEX.NOTARIZED')} Hash + </td> + <td> + <span data-extcoin="COIN" id="kmd_notarizedhash"></span> + </td> + </tr> + <tr> + <td> + {translate('INDEX.NOTARIZED')} BTC + </td> + <td> + <span data-extcoin="COIN" id="kmd_notarizedbtc"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.BLOCKS')}</td> + <td> + <span data-extcoin="COIN" id="kmd_blocks"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.CONNECTIONS')}</td> + <td> + <span data-extcoin="COIN" id="kmd_connections"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.DIFFICULTY')}</td> + <td> + <span data-extcoin="COIN" id="kmd_difficulty"></span> + </td> + </tr> + <tr> + <td>Testnet</td> + <td> + <span data-extcoin="COIN" id="kmd_testnet"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.PAY_TX_FEE')}</td> + <td> + <span data-extcoin="COIN" id="kmd_paytxfee"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.RELAY_FEE')}</td> + <td> + <span data-extcoin="COIN" id="kmd_relayfee"></span> + </td> + </tr> + <tr> + <td>{translate('INDEX.ERRORS')}</td> + <td> + <span data-extcoin="COIN" id="kmd_errors"></span> + </td> + </tr> + </tbody> + </table> + </div> </div> </div> - <!-- End Panel getinfo --> </div> </div> - </div> - <!-- Modal --> - <div className="modal fade modal-3d-sign" data-extcoin="COIN" id="kmd_txid_info_mdl" aria-hidden="false" role="dialog" tabindex="-1"> - <div className="modal-dialog modal-center modal-lg"> - <div className="modal-content"> - <!--<div className="modal-header bg-orange-a400 wallet-send-header"> - <button type="button" className="close white" data-dismiss="modal" aria-label="Close"> - <span aria-hidden="true">×</span> - </button> - <h4 className="modal-title white"><span className="icon fa-search" style="margin: 0"></span> Transaction ID <span id="mdl_txid_info_coin_name"></span></h4> - </div>--> - <div className="modal-body"> - <!-- Iguana Wallet Settings Box Tab --> - <div className="panel nav-tabs-horizontal"> - <ul className="nav nav-tabs nav-tabs-line" data-plugin="nav-tabs" role="tablist"> - <li className="active" role="presentation"> - <a data-toggle="tab" href="#KmdTxIDInfotab1" data-extcoin="COIN" aria-controls="KmdTxIDInfotab1" role="tab"> - <i className="icon md-balance-wallet" aria-hidden="true"></i>TxID Info - </a> - </li> - <li role="presentation"> - <a data-toggle="tab" href="#KmdTxIDInfotab2" data-extcoin="COIN" aria-controls="KmdTxIDInfotab2" role="tab"> - <i className="icon md-plus-square" aria-hidden="true"></i>vjointsplits, details - </a> - </li> - <li role="presentation"> - <a data-toggle="tab" href="#KmdTxIDInfotab3" data-extcoin="COIN" aria-controls="KmdTxIDInfotab3" role="tab"> - <i className="icon wb-briefcase" aria-hidden="true"></i>hex - </a> - </li> - </ul> - <div className="panel-body"> - <div className="tab-content"> - <div className="tab-pane active" id="KmdTxIDInfotab1" data-extcoin="COIN" role="tabpanel"> - <table className="table table-striped"> - <tbody> - <tr> - <td>amount</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_amount"></span> - </td> - </tr> - <tr> - <td>fee</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_fee"></span> - </td> - </tr> - <tr> - <td>confirmations</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_confirmations"></span> - </td> - </tr> - <tr> - <td>blockhash</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_blockhash"></span> - </td> - </tr> - <tr> - <td>blockindex</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_blockindex"></span> - </td> - </tr> - <tr> - <td>blocktime</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_blocktime"></span> - </td> - </tr> - <tr> - <td>txid</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_txid"></span> - </td> - </tr> - <tr> - <td>walletconflicts</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_walletconflicts"></span> - </td> - </tr> - <tr> - <td>time</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_time"></span> - </td> - </tr> - <tr> - <td>timereceived</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_timereceived"></span> - </td> - </tr> - </tbody> - </table> - </div> - <div className="tab-pane" id="KmdTxIDInfotab2" data-extcoin="COIN" role="tabpanel"> - <table className="table table-striped"> - <tbody> - <tr> - <td>vjoinsplit</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_vjoinsplit"></span> - </td> - </tr> - <tr> - <td>details</td> - <td> - <span data-extcoin="COIN" id="kmd_txid_info_details"></span> - </td> - </tr> - </tbody> - </table> - </div> - <div className="tab-pane" id="KmdTxIDInfotab3" data-extcoin="COIN" role="tabpanel"> - <textarea id="kmd_txid_info_hex" data-extcoin="COIN" style="width: 100%; height: 170px" rows="10" cols="80" disabled></textarea> + <div className="modal fade modal-3d-sign" data-extcoin="COIN" id="kmd_txid_info_mdl" aria-hidden="false" role="dialog" tabindex="-1"> + <div className="modal-dialog modal-center modal-lg"> + <div className="modal-content"> + <div className="modal-body"> + <div className="panel nav-tabs-horizontal"> + <ul className="nav nav-tabs nav-tabs-line" data-plugin="nav-tabs" role="tablist"> + <li className="active" role="presentation"> + <a data-toggle="tab" href="#KmdTxIDInfotab1" data-extcoin="COIN" aria-controls="KmdTxIDInfotab1" role="tab"> + <i className="icon md-balance-wallet" aria-hidden="true"></i>TxID Info + </a> + </li> + <li role="presentation"> + <a data-toggle="tab" href="#KmdTxIDInfotab2" data-extcoin="COIN" aria-controls="KmdTxIDInfotab2" role="tab"> + <i className="icon md-plus-square" aria-hidden="true"></i>vjointsplits, details + </a> + </li> + <li role="presentation"> + <a data-toggle="tab" href="#KmdTxIDInfotab3" data-extcoin="COIN" aria-controls="KmdTxIDInfotab3" role="tab"> + <i className="icon wb-briefcase" aria-hidden="true"></i>hex + </a> + </li> + </ul> + <div className="panel-body"> + <div className="tab-content"> + <div className="tab-pane active" id="KmdTxIDInfotab1" data-extcoin="COIN" role="tabpanel"> + <table className="table table-striped"> + <tbody> + <tr> + <td>amount</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_amount"></span> + </td> + </tr> + <tr> + <td>fee</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_fee"></span> + </td> + </tr> + <tr> + <td>confirmations</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_confirmations"></span> + </td> + </tr> + <tr> + <td>blockhash</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_blockhash"></span> + </td> + </tr> + <tr> + <td>blockindex</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_blockindex"></span> + </td> + </tr> + <tr> + <td>blocktime</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_blocktime"></span> + </td> + </tr> + <tr> + <td>txid</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_txid"></span> + </td> + </tr> + <tr> + <td>walletconflicts</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_walletconflicts"></span> + </td> + </tr> + <tr> + <td>time</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_time"></span> + </td> + </tr> + <tr> + <td>timereceived</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_timereceived"></span> + </td> + </tr> + </tbody> + </table> + </div> + <div className="tab-pane" id="KmdTxIDInfotab2" data-extcoin="COIN" role="tabpanel"> + <table className="table table-striped"> + <tbody> + <tr> + <td>vjoinsplit</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_vjoinsplit"></span> + </td> + </tr> + <tr> + <td>details</td> + <td> + <span data-extcoin="COIN" id="kmd_txid_info_details"></span> + </td> + </tr> + </tbody> + </table> + </div> + <div className="tab-pane" id="KmdTxIDInfotab3" data-extcoin="COIN" role="tabpanel"> + <textarea id="kmd_txid_info_hex" data-extcoin="COIN" style={{width: '100%', height: '170px'}} rows="10" cols="80" disabled></textarea> + </div> </div> </div> </div> </div> - <!-- End Iguana Wallet Settings Box Tab --> - </div> - <div className="modal-footer"> - <button type="button" className="btn btn-default" data-dismiss="modal">Close</button> + <div className="modal-footer"> + <button type="button" className="btn btn-default" data-dismiss="modal">Close</button> + </div> </div> </div> </div> </div> - <!-- End Modal --> </div> - </div> - ); + ); + } else { + return null; + } } } diff --git a/react/src/components/dashboard/sendCoin.js b/react/src/components/dashboard/sendCoin.js index f17b4d5..57f1047 100644 --- a/react/src/components/dashboard/sendCoin.js +++ b/react/src/components/dashboard/sendCoin.js @@ -20,7 +20,6 @@ class SendCoin extends React.Component { } render() { - console.log('sendcoin', this.props); if (this.props && this.props.send) { return ( <div className="col-sm-12 padding-top-10" data-edexcoin="COIN" id="edexcoin_send"> diff --git a/react/src/components/dashboard/settings.js b/react/src/components/dashboard/settings.js index 9b04dec..ad56da3 100644 --- a/react/src/components/dashboard/settings.js +++ b/react/src/components/dashboard/settings.js @@ -1,7 +1,7 @@ import React from 'react'; import { translate } from '../../translate/translate'; -/*import { dashboardChangeSection, toggleAddcoinModal, logout } from '../../actions/actionCreators'; -import Store from '../../store';*/ +import { iguanaActiveHandle, encryptWallet, test } from '../../actions/actionCreators'; +import Store from '../../store'; import AddCoinOptionsCrypto from '../addcoin/addcoinOptionsCrypto'; import AddCoinOptionsAC from '../addcoin/addcoinOptionsAC'; import AddCoinOptionsACFiat from '../addcoin/addcoinOptionsACFiat'; @@ -12,6 +12,11 @@ class Settings extends React.Component { this.state = { activeTab: 0, }; + this.exportWifKeys = this.exportWifKeys.bind(this); + } + + componentDidMount() { + Store.dispatch(iguanaActiveHandle()); } openTab(tab) { @@ -20,6 +25,10 @@ class Settings extends React.Component { })); } + exportWifKeys() { + Store.dispatch(encryptWallet('lime lime', test)); + } + render() { return ( <div data-animsition-in="fade-in" data-animsition-out="fade-out" style={{marginLeft: '0'}}> @@ -31,12 +40,12 @@ class Settings extends React.Component { <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"> - <div className="panel-heading" id="WalletInfo" role="tab"> - <a className="panel-title" data-toggle="collapse" href="#WalletInfoTab" data-parent="#SettingsAccordion" aria-expanded="true" aria-controls="WalletInfoTab"> + <div className="panel-heading" id="WalletInfo" role="tab" onClick={() => this.openTab(0)}> + <a className={this.state.activeTab === 0 ? 'panel-title' : 'panel-title collapsed'} data-toggle="collapse" data-parent="#SettingsAccordion"> <i className="icon md-balance-wallet" aria-hidden="true"></i>{translate('INDEX.WALLET_INFO')} </a> </div> - <div className="panel-collapse collapse in" id="WalletInfoTab" aria-labelledby="WalletInfo" role="tabpanel"> + <div className={this.state.activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse'} id="WalletInfoTab" aria-labelledby="WalletInfo" role="tabpanel"> <div className="panel-body"> <table className="table" id="wallet-info-table"> <thead> @@ -49,37 +58,37 @@ class Settings extends React.Component { <tr> <td style={{fontWeight: 'bold'}}>pubkey</td> <td> - <div id="winfo_pubkey_value"></div> + <div id="winfo_pubkey_value">{this.props.Main.activeHandle.pubkey}</div> </td> </tr> <tr> <td style={{fontWeight: 'bold'}}>btcpubkey</td> <td> - <div id="winfo_btcpubkey_value"></div> + <div id="winfo_btcpubkey_value">{this.props.Main.activeHandle.btcpubkey}</div> </td> </tr> <tr> <td style={{fontWeight: 'bold'}}>rmd160</td> <td> - <div id="winfo_rmd160_value"></div> + <div id="winfo_rmd160_value">{this.props.Main.activeHandle.rmd160}</div> </td> </tr> <tr> <td style={{fontWeight: 'bold'}}>NXT</td> <td> - <div id="winfo_NXT_value"></div> + <div id="winfo_NXT_value">{this.props.Main.activeHandle.NXT}</div> </td> </tr> <tr> <td style={{fontWeight: 'bold'}}>notary</td> <td> - <div id="winfo_notary_value"></div> + <div id="winfo_notary_value">{this.props.Main.activeHandle.notary}</div> </td> </tr> <tr> <td style={{fontWeight: 'bold'}}>status</td> <td> - <div id="winfo_status_value"></div> + <div id="winfo_status_value">{this.props.Main.activeHandle.status}</div> </td> </tr> </tbody> @@ -89,12 +98,12 @@ class Settings extends React.Component { </div> <div className="panel"> - <div className="panel-heading" id="AddNodeforCoin" role="tab"> - <a className="panel-title collapsed" data-toggle="collapse" data-parent="#SettingsAccordion" aria-expanded="false" aria-controls="AddNodeforCoinTab"> + <div className="panel-heading" id="AddNodeforCoin" role="tab" onClick={() => this.openTab(1)}> + <a className={this.state.activeTab === 1 ? 'panel-title' : 'panel-title collapsed'} data-toggle="collapse" data-parent="#SettingsAccordion"> <i className="icon md-plus-square" aria-hidden="true"></i>{translate('INDEX.ADD_NODE')} </a> </div> - <div className="panel-collapse collapse" id="AddNodeforCoinTab" aria-labelledby="AddNodeforCoin" role="tabpanel"> + <div className={this.state.activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse'} id="AddNodeforCoinTab" aria-labelledby="AddNodeforCoin" role="tabpanel"> <div className="panel-body"> <div className="row"> <div className="col-sm-6"> @@ -112,7 +121,7 @@ class Settings extends React.Component { </div> </div> <div className="col-sm-4 col-xs-12" style={{textAlign: 'center'}}> - <button type="button" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="settings_getcoinpeers_btn" onClick="Settings_ShowCoinPeers">{translate('INDEX.CHECK_NODES')}</button> + <button type="button" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="settings_getcoinpeers_btn">{translate('INDEX.CHECK_NODES')}</button> </div> <div className="col-sm-12"> <h5> @@ -144,7 +153,7 @@ class Settings extends React.Component { </div> </div> <div className="col-sm-4 col-xs-12" style={{textAlign: 'center'}}> - <button type="button" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="settings_addcoinpeers_btn" onClick="Settings_AddCoinPeers()">{translate('INDEX.ADD_NODE')}</button> + <button type="button" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="settings_addcoinpeers_btn">{translate('INDEX.ADD_NODE')}</button> </div> </div> </div> @@ -153,34 +162,34 @@ class Settings extends React.Component { </div> <div className="panel"> - <div className="panel-heading" id="DumpWallet" role="tab"> - <a className="panel-title collapsed" data-toggle="collapse" data-parent="#SettingsAccordion" aria-expanded="false" aria-controls="DumpWalletTab"> + <div className="panel-heading" id="DumpWallet" role="tab" onClick={() => this.openTab(2)}> + <a className={this.state.activeTab === 2 ? 'panel-title' : 'panel-title collapsed'} data-toggle="collapse" data-parent="#SettingsAccordion"> <i className="icon wb-briefcase" aria-hidden="true"></i>{translate('INDEX.WALLET_BACKUP')} </a> </div> - <div className="panel-collapse collapse" id="DumpWalletTab" aria-labelledby="DumpWallet" role="tabpanel"> + <div className={this.state.activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse'} id="DumpWalletTab" aria-labelledby="DumpWallet" role="tabpanel"> <div className="panel-body">Wallet Backup section to be updated soon.</div> </div> </div> <div className="panel"> - <div className="panel-heading" id="FiatCurrencySettings" role="tab"> - <a className="panel-title collapsed" data-toggle="collapse" data-parent="#SettingsAccordion" aria-expanded="false" aria-controls="FiatCurrencySettingsTab"> + <div className="panel-heading" id="FiatCurrencySettings" role="tab" onClick={() => this.openTab(3)}> + <a className={this.state.activeTab === 3 ? 'panel-title' : 'panel-title collapsed'} data-toggle="collapse" data-parent="#SettingsAccordion"> <i className="icon fa-money" aria-hidden="true"></i>{translate('INDEX.FIAT_CURRENCY')} </a> </div> - <div className="panel-collapse collapse" id="FiatCurrencySettingsTab" aria-labelledby="FiatCurrencySettings" role="tabpanel"> + <div className={this.state.activeTab === 3 ? 'panel-collapse collapse in' : 'panel-collapse collapse'} id="FiatCurrencySettingsTab" aria-labelledby="FiatCurrencySettings" role="tabpanel"> <div className="panel-body">Fiat currency settings section to be updated soon.</div> </div> </div> <div className="panel"> - <div className="panel-heading" id="ExportKeys" role="tab"> - <a className="panel-title collapsed" data-toggle="collapse" data-parent="#SettingsAccordion" aria-expanded="false" aria-controls="ExportKeysTab"> + <div className="panel-heading" id="ExportKeys" role="tab" onClick={() => this.openTab(4)}> + <a className={this.state.activeTab === 4 ? 'panel-title' : 'panel-title collapsed'} data-toggle="collapse" data-parent="#SettingsAccordion"> <i className="icon md-key" aria-hidden="true"></i>{translate('INDEX.EXPORT_KEYS')} </a> </div> - <div className="panel-collapse collapse" id="ExportKeysTab" aria-labelledby="ExportKeys" role="tabpanel"> + <div className={this.state.activeTab === 4 ? 'panel-collapse collapse in' : 'panel-collapse collapse'} id="ExportKeysTab" aria-labelledby="ExportKeys" role="tabpanel"> <div className="panel-body"> <p> <div>{translate('INDEX.ONLY_ACTIVE_WIF_KEYS')}</div><br/> @@ -195,7 +204,7 @@ class Settings extends React.Component { <label className="floating-label" htmlFor="wifkeys_passphrase">{translate('INDEX.PASSPHRASE')}</label> </div> <div className="col-sm-12 col-xs-12" style={{textAlign: 'center'}}> - <button type="submit" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="wifkeys_passphrase_btn">{translate('INDEX.GET_WIF_KEYS')}</button> + <button type="button" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="wifkeys_passphrase_btn" onClick={this.exportWifKeys}>{translate('INDEX.GET_WIF_KEYS')}</button> </div> </form> @@ -209,12 +218,12 @@ class Settings extends React.Component { </div> <div className="panel"> - <div className="panel-heading" id="ImportKeys" role="tab"> - <a className="panel-title collapsed" data-toggle="collapse" href="#ImportKeysTab" aria-expanded="false" aria-controls="ImportKeysTab"> + <div className="panel-heading" id="ImportKeys" role="tab" onClick={() => this.openTab(5)}> + <a className={this.state.activeTab === 5 ? 'panel-title' : 'panel-title collapsed'} data-toggle="collapse"> <i className="icon md-key" aria-hidden="true"></i>{translate('INDEX.IMPORT_KEYS')} </a> </div> - <div className="panel-collapse collapse" id="ImportKeysTab" aria-labelledby="ImportKeys" role="tabpanel"> + <div className={this.state.activeTab === 5 ? 'panel-collapse collapse in' : 'panel-collapse collapse'} id="ImportKeysTab" aria-labelledby="ImportKeys" role="tabpanel"> <div className="panel-body"> <p> <div>{translate('INDEX.IMPORT_KEYS_DESC_P1')}</div><br/> @@ -244,12 +253,12 @@ class Settings extends React.Component { </div> <div className="panel"> - <div className="panel-heading" id="DebugLog" role="tab"> - <a className="panel-title collapsed" data-toggle="collapse" data-parent="#SettingsAccordion" aria-expanded="false" aria-controls="DebugLogTab"> + <div className="panel-heading" id="DebugLog" role="tab" onClick={() => this.openTab(6)}> + <a className={this.state.activeTab === 6 ? 'panel-title' : 'panel-title collapsed'} data-toggle="collapse" data-parent="#SettingsAccordion"> <i className="icon md-info" aria-hidden="true"></i>{translate('INDEX.DEBUG_LOG')} </a> </div> - <div className="panel-collapse collapse" id="DebugLogTab" aria-labelledby="DebugLog" role="tabpanel"> + <div className={this.state.activeTab === 6 ? 'panel-collapse collapse in' : 'panel-collapse collapse'} id="DebugLogTab" aria-labelledby="DebugLog" role="tabpanel"> <div className="panel-body"> <p>{translate('INDEX.DEBUG_LOG_DESC')}</p> <div className="col-sm-12"></div> @@ -266,7 +275,7 @@ class Settings extends React.Component { <label className="floating-label" htmlFor="settings_select_debuglog_options">{translate('INDEX.TARGET')}</label> </div> <div className="col-sm-12 col-xs-12" style={{textAlign: 'center'}}> - <button type="submit" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="read_debug_log_btn" onClick="Settings_LoadDebugLog()">{translate('INDEX.LOAD_DEBUG_LOG')}</button> + <button type="submit" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="read_debug_log_btn">{translate('INDEX.LOAD_DEBUG_LOG')}</button> </div> <div className="col-sm-12 col-xs-12" style={{textAlign: 'center'}}> <br /> diff --git a/react/src/components/dashboard/walletsNav.js b/react/src/components/dashboard/walletsNav.js index 812781a..e85f680 100644 --- a/react/src/components/dashboard/walletsNav.js +++ b/react/src/components/dashboard/walletsNav.js @@ -22,18 +22,20 @@ class WalletsNav extends React.Component { } toggleSendCoinForm(display) { - console.log(display); Store.dispatch(toggleSendCoinForm(display)); } + toggleReceiveCoinForm(display) { + Store.dispatch(toggleReceiveCoinForm(display)); + } + render() { if (this.props && this.props.ActiveCoin && !this.props.ActiveCoin.coin) { return ( <div> <div className="col-xs-12 padding-top-20" id="no_wallet_selected"> <div className="alert alert-info alert-dismissible" role="alert"> - <button type="button" className="close" data-dismiss="alert" aria-label="Close"> - </button> + <button type="button" className="close" data-dismiss="alert" aria-label="Close"></button> <span style={{fontSize: '24px', textAlign: 'center'}}> <i className="icon fa-paw" aria-hidden="true"></i> {translate('INDEX.NO_WALLET_CAPS')} </span> @@ -58,7 +60,7 @@ class WalletsNav extends React.Component { <button type="button" className="btn btn-primary waves-effect waves-light" data-edexcoinmenu="COIN" id="btn_edexcoin_send" onClick={() => this.toggleSendCoinForm(!this.props.ActiveCoin.send)}> <i className="icon fa-send" aria-hidden="true"></i> {translate('INDEX.SEND')} </button> - <button type="button" className="btn btn-info waves-effect waves-light" data-edexcoinmenu="COIN" id="btn_edexcoin_recieve"> + <button type="button" className="btn btn-info waves-effect waves-light" data-edexcoinmenu="COIN" id="btn_edexcoin_recieve" onClick={() => this.toggleReceiveCoinForm(!this.props.ActiveCoin.receive)}> <i className="icon fa-inbox" aria-hidden="true"></i> {translate('INDEX.RECEIVE')} </button> </div> diff --git a/react/src/reducers/activeCoin.js b/react/src/reducers/activeCoin.js index c2cbb74..9e07fc1 100644 --- a/react/src/reducers/activeCoin.js +++ b/react/src/reducers/activeCoin.js @@ -1,4 +1,10 @@ -import { DASHBOARD_ACTIVE_COIN_CHANGE, DASHBOARD_ACTIVE_COIN_BALANCE, DASHBOARD_ACTIVE_COIN_SEND_FORM, DASHBOARD_ACTIVE_COIN_RECEIVE_FORM, DASHBOARD_ACTIVE_COIN_RESET_FORMS } from '../actions/actionCreators'; +import { + DASHBOARD_ACTIVE_COIN_CHANGE, + DASHBOARD_ACTIVE_COIN_BALANCE, + DASHBOARD_ACTIVE_COIN_SEND_FORM, + DASHBOARD_ACTIVE_COIN_RECEIVE_FORM, + DASHBOARD_ACTIVE_COIN_RESET_FORMS +} from '../actions/actionCreators'; export function ActiveCoin(state = { coin: null, diff --git a/react/src/reducers/atomic.js b/react/src/reducers/atomic.js index d352d36..d518c51 100644 --- a/react/src/reducers/atomic.js +++ b/react/src/reducers/atomic.js @@ -1,4 +1,4 @@ -import { ATOMIC } from '../actions/actionCreators' +import { ATOMIC } from '../actions/actionCreators'; export function Atomic(state = { response: null, diff --git a/react/src/reducers/index.js b/react/src/reducers/index.js index ca753aa..87cd298 100644 --- a/react/src/reducers/index.js +++ b/react/src/reducers/index.js @@ -7,6 +7,7 @@ import { Main } from './main'; import { Dashboard } from './dashboard'; import { ActiveCoin } from './activeCoin'; import { Atomic } from './atomic'; +import { Settings } from './settings'; const rootReducer = combineReducers({ AddCoin, @@ -15,6 +16,7 @@ const rootReducer = combineReducers({ Dashboard, ActiveCoin, Atomic, + Settings, routing: routerReducer, }); diff --git a/react/src/reducers/main.js b/react/src/reducers/main.js index 9ac1bbf..97a9e6f 100644 --- a/react/src/reducers/main.js +++ b/react/src/reducers/main.js @@ -1,4 +1,4 @@ -import { GET_ACTIVE_COINS, LOGIN, ACTIVE_HANDLE } from '../actions/actionCreators' +import { GET_ACTIVE_COINS, LOGIN, ACTIVE_HANDLE } from '../actions/actionCreators'; export function Main(state = { isLoggedIn: false, @@ -17,6 +17,7 @@ export function Main(state = { case ACTIVE_HANDLE: return Object.assign({}, state, { isLoggedIn: action.isLoggedIn, + activeHandle: action.handle, }); default: return state; diff --git a/react/src/reducers/settings.js b/react/src/reducers/settings.js new file mode 100644 index 0000000..f1ae464 --- /dev/null +++ b/react/src/reducers/settings.js @@ -0,0 +1,18 @@ +import { GET_WIF_KEY } from '../actions/actionCreators'; + +export function Settings(state = { + wifkey: null, + address: null, +}, action) { + switch (action.type) { + case GET_WIF_KEY: + return Object.assign({}, state, { + wifkey: action.wifkey, + address: action.address, + }); + default: + return state; + } +} + +export default Settings; diff --git a/react/src/styles/index.scss b/react/src/styles/index.scss index 5515ce6..1c96cc3 100644 --- a/react/src/styles/index.scss +++ b/react/src/styles/index.scss @@ -56,6 +56,18 @@ body { margin: 30px 0; } +#section-iguana-wallet-settings .panel-title { + cursor: pointer; + cursor: hand; +} + +#section-iguana-wallet-settings .panel-title:before { + content: '\F273'; +} +#section-iguana-wallet-settings .panel-title.collapsed:before { + content: '\F278'; +} + /*.toaster .single-toast:nth-child(0) { bottom: 12px; }