pbca26
8 years ago
committed by
GitHub
30 changed files with 2441 additions and 595 deletions
@ -0,0 +1,162 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
/*import { dashboardChangeSection, toggleAddcoinModal, logout } from '../../actions/actionCreators'; |
||||
|
import Store from '../../store';*/ |
||||
|
|
||||
|
class Atomic extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.state = { |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
render() { |
||||
|
return ( |
||||
|
<div className="page" data-animsition-in="fade-in" data-animsition-out="fade-out" style={{marginLeft: '0'}}> |
||||
|
<div className="page-content" id="section-iguana-atomic-explorer"> |
||||
|
<div className="row" id="atomic-explorer" data-plugin="masonry"> |
||||
|
<div className="col-xlg-12 col-md-12"> |
||||
|
<h4 className="font-size-14 text-uppercase">Atomic Explorer</h4> |
||||
|
<div className="panel panel-bordered"> |
||||
|
<div className="panel-body"> |
||||
|
<div className="col-sm-4 col-xs-12"> |
||||
|
<div className="form-group"> |
||||
|
<select className="form-control form-material" id="atomic_explorer_select_coin_options"> |
||||
|
<option value="-">{translate('INDEX.SELECT_COIN')}</option> |
||||
|
<optgroup label="Crypto Currencies"> |
||||
|
<option value="ANC|full" data-full-mode="true">AnonCoin (ANC)</option> |
||||
|
<option value="BTC|full|basilisk">Bitcoin (BTC)</option> |
||||
|
<option value="BTCD|full">BitcoinDark (BTCD)</option> |
||||
|
<option value="BTM|full">Bitmark (BTM)</option> |
||||
|
<option value="CARB|full">Carboncoin (CARB)</option> |
||||
|
<option value="DGB|full">Digibyte (DGB)</option> |
||||
|
<option value="DOGE|full">Dogecoin (DOGE)</option> |
||||
|
<option value="FRK|full">Franko (FRK)</option> |
||||
|
<option value="GMC|full">Gamerscoin (GMC)</option> |
||||
|
<option value="KMD|basilisk|native">Komodo (KMD)</option> |
||||
|
<option value="LTC|full">Litecoin (LTC)</option> |
||||
|
<option value="MZC|full">MazaCoin (MZC)</option> |
||||
|
<option value="SYS|full">SysCoin (SYS)</option> |
||||
|
<option value="UNO|full">Unobtanium (UNO)</option> |
||||
|
<option value="ZEC|full">Zcash (ZEC)</option> |
||||
|
<option value="ZET|full">Zetacoin (ZET)</option> |
||||
|
</optgroup> |
||||
|
<optgroup label="Assetchains"> |
||||
|
<option value="BET|basilisk|native">BET (BET)</option> |
||||
|
<option value="BOTS|basilisk|native">BOTS (BOTS)</option> |
||||
|
<option value="CEAL|basilisk|native">CEAL NET (CEAL)</option> |
||||
|
<option value="CRYPTO|basilisk|native">CRYPTO (CRYPTO)</option> |
||||
|
<option value="HOD|basilisk|native">HODL (HODL)</option> |
||||
|
<option value="DEX|basilisk|native">InstantDEX (DEX)</option> |
||||
|
<option value="JUMBLR|basilisk|native">JUMBLR (JUMBLR)</option> |
||||
|
<option value="KV|basilisk|native">KV (KV)</option> |
||||
|
<option value="MGW|basilisk|native">MultiGateway (MGW)</option> |
||||
|
<option value="MVP|basilisk|native">MVP Lineup (MVP)</option> |
||||
|
<option value="PANGEA|basilisk|native">PANGEA (PANGEA)</option> |
||||
|
<option value="REVS|basilisk|native">REVS (REVS)</option> |
||||
|
<option value="SHARK|basilisk|native">SHARK (SHARK)</option> |
||||
|
<option value="MESH|basilisk|native">SpaceMesh (MESH)</option> |
||||
|
<option value="SUPERNET|basilisk|native">SUPERNET (SUPERNET)</option> |
||||
|
<option value="WIRELESS|basilisk|native">WIRELESS (WIRELESS)</option> |
||||
|
</optgroup> |
||||
|
<optgroup label="Fiat Currencies"> |
||||
|
<option value="AUD|basilisk|native">Australian Dollar (AUD)</option> |
||||
|
<option value="BRL|basilisk|native">Brazilian Real (BRL)</option> |
||||
|
<option value="GBP|basilisk|native">British Pound (GBP)</option> |
||||
|
<option value="BGN|basilisk|native">Bulgarian Lev (BGN)</option> |
||||
|
<option value="CAD|basilisk|native">Canadian Dollar (CAD)</option> |
||||
|
<option value="HRK|basilisk|native">Croatian Kuna (HRK)</option> |
||||
|
<option value="CZK|basilisk|native">Czech Koruna (CZK)</option> |
||||
|
<option value="CNY|basilisk|native">Chinese Yuan (CNY)</option> |
||||
|
<option value="DKK|basilisk|native">Danish Krone (DKK)</option> |
||||
|
<option value="EUR|basilisk|native">Euro (EUR)</option> |
||||
|
<option value="HKD|basilisk|native">Hong Kong Dollar (HKD)</option> |
||||
|
<option value="HUF|basilisk|native">Hungarian Forint (HUF)</option> |
||||
|
<option value="INR|basilisk|native">Indian Rupee (INR)</option> |
||||
|
<option value="IDR|basilisk|native">Indonesian Rupiah (IDR)</option> |
||||
|
<option value="ILS|basilisk|native">Israeli Shekel (ILS)</option> |
||||
|
<option value="JPY|basilisk|native">Japanese Yen (JPY)</option> |
||||
|
<option value="KRW|basilisk|native">Korean Won (KRW)</option> |
||||
|
<option value="MYR|basilisk|native">Malaysian Ringgit (MYR)</option> |
||||
|
<option value="MXN|basilisk|native">Mexican peso (MXN)</option> |
||||
|
<option value="NZD|basilisk|native">New Zealand Dollar (NZD)</option> |
||||
|
<option value="NOK|basilisk|native">Norwegian Krone (NOK)</option> |
||||
|
<option value="PHP|basilisk|native">Philippine Peso (PHP)</option> |
||||
|
<option value="PLN|basilisk|native">Polish Zloty (PLN)</option> |
||||
|
<option value="RON|basilisk|native">Romanian Leu (RON)</option> |
||||
|
<option value="RUB|basilisk|native">Russian Ruble (RUB)</option> |
||||
|
<option value="SGD|basilisk|native">Singapore Dollar (SGD)</option> |
||||
|
<option value="ZAR|basilisk|native">South African Rand (ZAR)</option> |
||||
|
<option value="SEK|basilisk|native">Swedish Krona (SEK)</option> |
||||
|
<option value="CHF|basilisk|native">Swiss Franc (CHF)</option> |
||||
|
<option value="THB|basilisk|native">Thai Baht (THB)</option> |
||||
|
<option value="TRY|basilisk|native">Turkish Lira (TRY)</option> |
||||
|
<option value="USD|basilisk|native">US Dollar (USD)</option> |
||||
|
</optgroup> |
||||
|
</select> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="col-sm-4 col-xs-12" style={{textAlign: 'center'}}> |
||||
|
<select className="form-control form-material" id="atomic_explorer_select_command_options"> |
||||
|
<option value="">-Select Command-</option> |
||||
|
<option value="history">Address History</option> |
||||
|
<option value="getbalance">Get Balance</option> |
||||
|
<option value="listunspent">List Unspent</option> |
||||
|
<option value="txid">Transaction ID</option> |
||||
|
<option value="blockash">Block Hash</option> |
||||
|
<option value="chaintip">Chain Tip</option> |
||||
|
<option value="activehandle">Active Handle</option> |
||||
|
<option value="gettransaction">Get Transaction</option> |
||||
|
<option value="dex_alladdresses">DEX All Addresses</option> |
||||
|
<option value="dex_importaddress">DEX Import Address</option> |
||||
|
<option value="dex_checkaddress">DEX Check Address</option> |
||||
|
<option value="dex_validateaddress">DEX Validate Address</option> |
||||
|
<option value="dex_getinfo">DEX Get Info</option> |
||||
|
<option value="dex_getnotaries">DEX Get Notaries</option> |
||||
|
<option value="dex_getbestblockhash">DEX Get Best Block Hash</option> |
||||
|
<option value="dex_getblockhash">DEX Get Block Hash</option> |
||||
|
<option value="dex_getblock">DEX Get Block</option> |
||||
|
<option value="dex_gettxin">DEX Get txin</option> |
||||
|
<option value="dex_gettxout">DEX Get txout</option> |
||||
|
<option value="dex_gettransaction">DEX Get Transaction</option> |
||||
|
<option value="dex_getbalance">DEX Get Balance</option> |
||||
|
<option value="dex_getsupply">DEX Get Supply</option> |
||||
|
<option value="dex_listtransactions">DEX List Transactions</option> |
||||
|
<option value="dex_listtransactions2">DEX List Transactions 2</option> |
||||
|
<option value="dex_listspent">DEX List Spent</option> |
||||
|
<option value="dex_listunspent">DEX List Unspent</option> |
||||
|
<option value="dex_listunspent2">DEX List Unspent 2</option> |
||||
|
<option value="dex_sendrawtransaction">DEX Send Raw Transaction</option> |
||||
|
<option value="basilisk_refresh">Basilisk Refresh</option> |
||||
|
<option value="jumblr_status">Jumbler Status</option> |
||||
|
</select> |
||||
|
</div> |
||||
|
<div className="col-sm-4 col-xs-12" style={{textAlign: 'center'}}> |
||||
|
<input type="text" className="form-control" id="atomic_explorer_input_data" name="atomic_explorer_input_data" placeholder="addr, txid, blockash etc." /> |
||||
|
</div> |
||||
|
<div className="col-sm-12 col-xs-12" style={{textAlign: 'center'}}> |
||||
|
<button type="button" className="btn btn-primary waves-effect waves-light" data-toggle="modal" data-dismiss="modal" id="atomic_explorer_getcoinpeers_btn">Submit</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="col-xlg-4 col-md-12"> |
||||
|
<div className="panel"> |
||||
|
<div className="panel-heading"> |
||||
|
<h3 className="panel-title">Raw Output</h3> |
||||
|
</div> |
||||
|
<div className="panel-body"> |
||||
|
<div className="tab-content"> |
||||
|
<pre id="atomic-explorer-commands-output"></pre> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default Atomic; |
@ -0,0 +1,383 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
import CoinTileItem from './coinTileItem'; |
||||
|
|
||||
|
class CoinTile extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.state = { |
||||
|
}; |
||||
|
this.renderTiles = this.renderTiles.bind(this); |
||||
|
} |
||||
|
|
||||
|
renderTiles() { |
||||
|
const modes = [ |
||||
|
'native', |
||||
|
'basilisk', |
||||
|
'full' |
||||
|
]; |
||||
|
const allCoins = this.props.Main.coins; |
||||
|
var items = []; |
||||
|
console.log('tiles', this.props.Main.coins); |
||||
|
|
||||
|
if (this.props.Main && this.props.Main.coins) { |
||||
|
modes.map(function(mode) { |
||||
|
allCoins[mode].map(function(coin) { |
||||
|
console.log(coin); |
||||
|
var coinlogo = '', |
||||
|
coinname = '', |
||||
|
modecode = '', |
||||
|
modetip = '', |
||||
|
modecolor = ''; |
||||
|
|
||||
|
switch (mode) { |
||||
|
case 'native': |
||||
|
modecode = 'Native'; |
||||
|
modetip = 'Native'; |
||||
|
modecolor = 'primary'; |
||||
|
break; |
||||
|
case 'basilisk': |
||||
|
modecode = 'Basilisk'; |
||||
|
modetip = 'Basilisk'; |
||||
|
modecolor = 'info'; |
||||
|
break; |
||||
|
case 'full': |
||||
|
modecode = 'Full'; |
||||
|
modetip = 'Full'; |
||||
|
modecolor = 'success'; |
||||
|
break; |
||||
|
case 'virtual': |
||||
|
modecode = 'Virtual'; |
||||
|
modetip = 'Virtual'; |
||||
|
modecolor = 'danger'; |
||||
|
break; |
||||
|
case 'notarychains': |
||||
|
modecode = 'Notarychains'; |
||||
|
modetip = 'Notarychains'; |
||||
|
modecolor = 'dark'; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
switch (coin) { |
||||
|
case 'BTC': |
||||
|
coinlogo = 'bitcoin'; |
||||
|
coinname = 'Bitcoin'; |
||||
|
break; |
||||
|
case 'BTCD': |
||||
|
coinlogo = 'bitcoindark'; |
||||
|
coinname = 'BitcoinDark'; |
||||
|
break; |
||||
|
case 'LTC': |
||||
|
coinlogo = 'litecoin'; |
||||
|
coinname = 'Litecoin'; |
||||
|
break; |
||||
|
case 'VPN': |
||||
|
coinlogo = 'vpncoin'; |
||||
|
coinname = 'VPNcoin'; |
||||
|
break; |
||||
|
case 'SYS': |
||||
|
coinlogo = 'syscoin'; |
||||
|
coinname = 'Syscoin'; |
||||
|
break; |
||||
|
case 'ZEC': |
||||
|
coinlogo = 'zcash'; |
||||
|
coinname = 'Zcash'; |
||||
|
break; |
||||
|
case 'NMC': |
||||
|
coinlogo = 'namecoin'; |
||||
|
coinname = 'Namecoin'; |
||||
|
break; |
||||
|
case 'DEX': |
||||
|
coinlogo = 'dex'; |
||||
|
coinname = 'InstantDEX'; |
||||
|
break; |
||||
|
case 'DOGE': |
||||
|
coinlogo = 'dogecoin'; |
||||
|
coinname = 'Dogecoin'; |
||||
|
break; |
||||
|
case 'DGB': |
||||
|
coinlogo = 'digibyte'; |
||||
|
coinname = 'Digibyte'; |
||||
|
break; |
||||
|
case 'MZC': |
||||
|
coinlogo = 'mazacoin'; |
||||
|
coinname = 'Mazacoin'; |
||||
|
break; |
||||
|
case 'UNO': |
||||
|
coinlogo = 'unobtanium'; |
||||
|
coinname = 'Unobtanium'; |
||||
|
break; |
||||
|
case 'ZET': |
||||
|
coinlogo = 'zetacoin'; |
||||
|
coinname = 'Zetacoin'; |
||||
|
break; |
||||
|
case 'KMD': |
||||
|
coinlogo = 'komodo'; |
||||
|
coinname = 'Komodo'; |
||||
|
break; |
||||
|
case 'BTM': |
||||
|
coinlogo = 'bitmark'; |
||||
|
coinname = 'Bitmark'; |
||||
|
break; |
||||
|
case 'CARB': |
||||
|
coinlogo = 'carboncoin'; |
||||
|
coinname = 'Carboncoin'; |
||||
|
break; |
||||
|
case 'ANC': |
||||
|
coinlogo = 'anoncoin'; |
||||
|
coinname = 'AnonCoin'; |
||||
|
break; |
||||
|
case 'FRK': |
||||
|
coinlogo = 'franko'; |
||||
|
coinname = 'Franko'; |
||||
|
break; |
||||
|
case 'GAME': |
||||
|
coinlogo = 'GAME'; |
||||
|
coinname = 'GameCredits'; |
||||
|
break; |
||||
|
case 'SUPERNET': |
||||
|
coinlogo = 'SUPERNET'; |
||||
|
coinname = 'SUPERNET'; |
||||
|
break; |
||||
|
case 'REVS': |
||||
|
coinlogo = 'REVS'; |
||||
|
coinname = 'REVS'; |
||||
|
break; |
||||
|
case 'WLC': |
||||
|
coinlogo = 'WLC'; |
||||
|
coinname = 'WIRELESS'; |
||||
|
break; |
||||
|
case 'PANGEA': |
||||
|
coinlogo = 'PANGEA'; |
||||
|
coinname = 'PANGEA'; |
||||
|
break; |
||||
|
case 'JUMBLR': |
||||
|
coinlogo = 'JUMBLR'; |
||||
|
coinname = 'JUMBLR'; |
||||
|
break; |
||||
|
case 'BET': |
||||
|
coinlogo = 'BET'; |
||||
|
coinname = 'BET'; |
||||
|
break; |
||||
|
case 'CRYPTO': |
||||
|
coinlogo = 'CRYPTO'; |
||||
|
coinname = 'CRYPTO'; |
||||
|
break; |
||||
|
case 'HODL': |
||||
|
coinlogo = 'HODL'; |
||||
|
coinname = 'HODL'; |
||||
|
break; |
||||
|
case 'SHARK': |
||||
|
coinlogo = 'SHARK'; |
||||
|
coinname = 'SHARK'; |
||||
|
break; |
||||
|
case 'BOTS': |
||||
|
coinlogo = 'BOTS'; |
||||
|
coinname = 'BOTS'; |
||||
|
break; |
||||
|
case 'MGW': |
||||
|
coinlogo = 'MGW'; |
||||
|
coinname = 'MultiGateway'; |
||||
|
break; |
||||
|
case 'MVP': |
||||
|
coinlogo = 'MVP'; |
||||
|
coinname = 'MVP Lineup'; |
||||
|
break; |
||||
|
case 'KV': |
||||
|
coinlogo = 'KV'; |
||||
|
coinname = 'KV'; |
||||
|
break; |
||||
|
case 'CEAL': |
||||
|
coinlogo = 'CEAL'; |
||||
|
coinname = 'CEAL NET'; |
||||
|
break; |
||||
|
case 'MESH': |
||||
|
coinlogo = 'MESH'; |
||||
|
coinname = 'SpaceMesh'; |
||||
|
break; |
||||
|
case 'USD': |
||||
|
coinlogo = 'usd'; |
||||
|
coinname = 'US Dollar'; |
||||
|
break; |
||||
|
case 'RON': |
||||
|
coinlogo = 'RON'; |
||||
|
coinname = 'Romanian Leu'; |
||||
|
break; |
||||
|
case 'EUR': |
||||
|
coinlogo = 'EUR'; |
||||
|
coinname = 'Euro'; |
||||
|
break; |
||||
|
case 'JPY': |
||||
|
coinlogo = 'JPY'; |
||||
|
coinname = 'Japanese Yen'; |
||||
|
break; |
||||
|
case 'GBP': |
||||
|
coinlogo = 'GBP'; |
||||
|
coinname = 'British Pound'; |
||||
|
break; |
||||
|
case 'AUD': |
||||
|
coinlogo = 'AUD'; |
||||
|
coinname = 'Australian Dollar'; |
||||
|
break; |
||||
|
case 'CAD': |
||||
|
coinlogo = 'CAD'; |
||||
|
coinname = 'Canadian Dollar'; |
||||
|
break; |
||||
|
case 'CHF': |
||||
|
coinlogo = 'CHF'; |
||||
|
coinname = 'Swiss Franc'; |
||||
|
break; |
||||
|
case 'NZD': |
||||
|
coinlogo = 'NZD'; |
||||
|
coinname = 'New Zealand Dollar'; |
||||
|
break; |
||||
|
case 'CNY': |
||||
|
coinlogo = 'CNY'; |
||||
|
coinname = 'Chinese Yuan'; |
||||
|
break; |
||||
|
case 'RUB': |
||||
|
coinlogo = 'RUB'; |
||||
|
coinname = 'Russian Ruble'; |
||||
|
break; |
||||
|
case 'MXN': |
||||
|
coinlogo = 'MXN'; |
||||
|
coinname = 'Mexican peso'; |
||||
|
break; |
||||
|
case 'BRL': |
||||
|
coinlogo = 'BRL'; |
||||
|
coinname = 'Brazilian Real'; |
||||
|
break; |
||||
|
case 'INR': |
||||
|
coinlogo = 'INR'; |
||||
|
coinname = 'Indian Rupee'; |
||||
|
break; |
||||
|
case 'HKD': |
||||
|
coinlogo = 'HKD'; |
||||
|
coinname = 'Hong Kong Dollar'; |
||||
|
break; |
||||
|
case 'TRY': |
||||
|
coinlogo = 'TRY'; |
||||
|
coinname = 'Turkish Lira'; |
||||
|
break; |
||||
|
case 'ZAR': |
||||
|
coinlogo = 'ZAR'; |
||||
|
coinname = 'South African Rand'; |
||||
|
break; |
||||
|
case 'PLN': |
||||
|
coinlogo = 'PLN'; |
||||
|
coinname = 'Polish Zloty'; |
||||
|
break; |
||||
|
case 'NOK': |
||||
|
coinlogo = 'NOK'; |
||||
|
coinname = 'Norwegian Krone'; |
||||
|
break; |
||||
|
case 'SEK': |
||||
|
coinlogo = 'SEK'; |
||||
|
coinname = 'Swedish Krona'; |
||||
|
break; |
||||
|
case 'DKK': |
||||
|
coinlogo = 'DKK'; |
||||
|
coinname = 'Danish Krone'; |
||||
|
break; |
||||
|
case 'CZK': |
||||
|
coinlogo = 'CZK'; |
||||
|
coinname = 'Czech Koruna'; |
||||
|
break; |
||||
|
case 'HUF': |
||||
|
coinlogo = 'HUF'; |
||||
|
coinname = 'Hungarian Forint'; |
||||
|
break; |
||||
|
case 'ILS': |
||||
|
coinlogo = 'ILS'; |
||||
|
coinname = 'Israeli Shekel'; |
||||
|
break; |
||||
|
case 'KRW': |
||||
|
coinlogo = 'KRW'; |
||||
|
coinname = 'Korean Won'; |
||||
|
break; |
||||
|
case 'MYR': |
||||
|
coinlogo = 'MYR'; |
||||
|
coinname = 'Malaysian Ringgit'; |
||||
|
break; |
||||
|
case 'PHP': |
||||
|
coinlogo = 'PHP'; |
||||
|
coinname = 'Philippine Peso'; |
||||
|
break; |
||||
|
case 'SGD': |
||||
|
coinlogo = 'SGD'; |
||||
|
coinname = 'Singapore Dollar'; |
||||
|
break; |
||||
|
case 'THB': |
||||
|
coinlogo = 'THB'; |
||||
|
coinname = 'Thai Baht'; |
||||
|
break; |
||||
|
case 'BGN': |
||||
|
coinlogo = 'BGN'; |
||||
|
coinname = 'Bulgarian Lev'; |
||||
|
break; |
||||
|
case 'IDR': |
||||
|
coinlogo = 'IDR'; |
||||
|
coinname = 'Indonesian Rupiah'; |
||||
|
break; |
||||
|
case 'HRK': |
||||
|
coinlogo = 'HRK'; |
||||
|
coinname = 'Croatian Kuna'; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
items.push({ |
||||
|
coinlogo, |
||||
|
coinname, |
||||
|
coin, |
||||
|
mode, |
||||
|
modecolor, |
||||
|
modetip, |
||||
|
modecode, |
||||
|
}); |
||||
|
}); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
return ( |
||||
|
items.map((item, i) => |
||||
|
<CoinTileItem key={i} i={i} item={item} {...this.props} />) |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
render() { |
||||
|
return ( |
||||
|
<div className="page-aside" style={{paddingTop: '80px'}}> |
||||
|
<div className="page-aside-switch"> |
||||
|
<i className="icon md-chevron-left" aria-hidden="true"></i> |
||||
|
<i className="icon md-chevron-right" aria-hidden="true"></i> |
||||
|
</div> |
||||
|
<div className="page-aside-inner"> |
||||
|
<div className="search-wallet-widgets panel" style={{display: 'none'}}> |
||||
|
<div className="panel-heading"> |
||||
|
<div className="panel-actions"> |
||||
|
<div className="input-search input-group-sm"> |
||||
|
<button type="submit" className="input-search-btn"> |
||||
|
<i className="icon md-search" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
<input type="text" className="form-control" name="" placeholder="Search..." disabled /> |
||||
|
</div> |
||||
|
</div> |
||||
|
<h3 className="panel-title">{translate('INDEX.ACTIVE_COINS')}</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="wallet-widgets-list" data-plugin="pageAsideScroll"> |
||||
|
<div data-role="container"> |
||||
|
<div data-role="content"> |
||||
|
<div className="list-group row wallet-widgets-row"> |
||||
|
{this.renderTiles()} |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default CoinTile; |
@ -0,0 +1,36 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
import { dashboardChangeActiveCoin, iguanaActiveHandle } from '../../actions/actionCreators'; |
||||
|
import Store from '../../store'; |
||||
|
|
||||
|
class CoinTileItem extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.state = { |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
dashboardChangeActiveCoin(coin, mode) { |
||||
|
Store.dispatch(dashboardChangeActiveCoin(coin, mode)); |
||||
|
Store.dispatch(iguanaActiveHandle(true)); |
||||
|
} |
||||
|
|
||||
|
render() { |
||||
|
const { item } = this.props; |
||||
|
return ( |
||||
|
<div className="list-group-item col-xlg-6 col-lg-12 wallet-widgets-info" data-edexcoincode="{item.coin}"> |
||||
|
<div className={this.props.ActiveCoin.coin === item.coin ? 'widget widget-shadow active' : 'widget widget-shadow'}> |
||||
|
<div className="widget-content text-center bg-white padding-20 edexcoin-logo" data-edexcoincode="{item.coin}" data-edexcoinmodecode="{item.modecode}" data-edexcoinname="{item.coinname}" onClick={() => this.dashboardChangeActiveCoin(item.coin, item.mode)}> |
||||
|
<a className="avatar margin-bottom-5" href="javascript:void(0)" id="edexcoin-logo"> |
||||
|
<img className="img-responsive" src={'assets/images/cryptologo/' + item.coinlogo + '.png'} alt="{item.coinname}"/> |
||||
|
<span className={'badge up badge-' + item.modecolor} id="basfull" data-edexcoincode="{item.coin}" data-toggle="tooltip" data-placement="top" data-original-title="{item.modetip}">{item.modecode}</span> |
||||
|
</a> |
||||
|
<div className="coin-name">{item.coinname} ({item.coinlogo})</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default CoinTileItem; |
@ -0,0 +1,56 @@ |
|||||
|
import React from 'react'; |
||||
|
import Navbar from './navbar'; |
||||
|
import CoinTile from './coinTile'; |
||||
|
import EDEX from './edex'; |
||||
|
import WalletsBalance from './walletsBalance'; |
||||
|
import WalletsHeader from './walletsHeader'; |
||||
|
import WalletsProgress from './walletsProgress'; |
||||
|
import WalletsNav from './walletsNav'; |
||||
|
import SendCoin from './sendCoin'; |
||||
|
import WalletsData from './walletsData'; |
||||
|
import Atomic from './atomic'; |
||||
|
|
||||
|
class Dashboard extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.state = { |
||||
|
}; |
||||
|
this.renderDashboard = this.renderDashboard.bind(this); |
||||
|
} |
||||
|
|
||||
|
renderDashboard() { |
||||
|
document.body.className = 'page-login'; |
||||
|
// <WalletsHeader {...this.props.ActiveCoin} />
|
||||
|
return ( |
||||
|
<div style={{height: '100%'}}> |
||||
|
<div className={this.props.Dashboard.activeSection === 'wallets' ? 'page-main' : ''} id="section-dashboard" data-edexcoin="COIN"> |
||||
|
<Navbar {...this.props} /> |
||||
|
<div className={this.props.Dashboard.activeSection === 'wallets' ? 'show' : 'hide'}> |
||||
|
<CoinTile {...this.props} /> |
||||
|
<WalletsNav {...this.props} /> |
||||
|
<WalletsProgress {...this.props} /> |
||||
|
<WalletsBalance {...this.props.ActiveCoin} /> |
||||
|
<SendCoin {...this.props.ActiveCoin} /> |
||||
|
<WalletsData {...this.props.ActiveCoin} /> |
||||
|
</div> |
||||
|
<div className={this.props.Dashboard.activeSection === 'edex' ? 'show' : 'hide'}> |
||||
|
<EDEX {...this.props} /> |
||||
|
</div> |
||||
|
<div className={this.props.Dashboard.activeSection === 'atomic' ? 'show' : 'hide'}> |
||||
|
<Atomic {...this.props} /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
render() { |
||||
|
if (this.props && this.props.Main && this.props.Main.isLoggedIn) { |
||||
|
return this.renderDashboard(); |
||||
|
} else { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default Dashboard; |
@ -0,0 +1,3 @@ |
|||||
|
.dashboard { |
||||
|
|
||||
|
} |
@ -0,0 +1,16 @@ |
|||||
|
import React from 'react'; |
||||
|
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-content" id="section-easydex"> |
||||
|
<h2>Coming Soon!</h2> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default EDEX; |
@ -0,0 +1,133 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
import { dashboardChangeSection, toggleAddcoinModal, logout } from '../../actions/actionCreators'; |
||||
|
import Store from '../../store'; |
||||
|
|
||||
|
class Navbar extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.state = { |
||||
|
openDropMenu: false, |
||||
|
}; |
||||
|
this.openDropMenu = this.openDropMenu.bind(this); |
||||
|
this.logout = this.logout.bind(this); |
||||
|
} |
||||
|
|
||||
|
openDropMenu() { |
||||
|
this.setState(Object.assign({}, this.state, { |
||||
|
openDropMenu: !this.state.openDropMenu, |
||||
|
})); |
||||
|
} |
||||
|
|
||||
|
toggleAddCoinModal() { |
||||
|
Store.dispatch(toggleAddcoinModal(true, false)); |
||||
|
} |
||||
|
|
||||
|
dashboardChangeSection(sectionName) { |
||||
|
Store.dispatch(dashboardChangeSection(sectionName)); |
||||
|
} |
||||
|
|
||||
|
logout() { |
||||
|
Store.dispatch(logout()); |
||||
|
} |
||||
|
|
||||
|
render() { |
||||
|
return ( |
||||
|
<nav className="site-navbar navbar navbar-default navbar-fixed-top navbar-mega" role="navigation"> |
||||
|
<div className="navbar-header"> |
||||
|
<button type="button" className="navbar-toggle hamburger hamburger-close navbar-toggle-left hided" |
||||
|
data-toggle="menubar"> |
||||
|
<span className="sr-only">{translate('INDEX.TOGGLE_NAV')}</span> |
||||
|
<span className="hamburger-bar"></span> |
||||
|
</button> |
||||
|
<button type="button" className="navbar-toggle collapsed" data-target="#site-navbar-collapse" |
||||
|
data-toggle="collapse"> |
||||
|
<i className="icon md-more" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
<div className="navbar-brand navbar-brand-center site-gridmenu-toggle" data-toggle="gridmenu"> |
||||
|
<img className="navbar-brand-logo hidden-xs" src="assets/images/easydex-logo-dashboard.png" title="SuperNET Igauana" /> |
||||
|
<img className="navbar-brand-logo hidden-md hidden-sm hidden-lg" src="assets/images/easydex-logo-dashboard-white.png" title="SuperNET Igauana white" /> |
||||
|
<span className="navbar-brand-text hidden-xs"></span> |
||||
|
</div> |
||||
|
<button type="button" className="navbar-toggle collapsed" data-target="#site-navbar-search" |
||||
|
data-toggle="collapse"> |
||||
|
<span className="sr-only">{translate('INDEX.TOGGLE_SEARCH')}</span> |
||||
|
<i className="icon md-search" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
</div> |
||||
|
<div className="navbar-container container-fluid"> |
||||
|
<div className="collapse navbar-collapse navbar-collapse-toolbar" id="site-navbar-collapse"> |
||||
|
<ul className="nav navbar-toolbar"> |
||||
|
<li className="hidden-float" id="toggleMenubar" style={{ display: 'none' }}> |
||||
|
<a data-toggle="menubar" href="#" role="button"> |
||||
|
<i className="icon hamburger hamburger-arrow-left"> |
||||
|
<span className="sr-only">{translate('INDEX.TOGGLE_MENUBAR')}</span> |
||||
|
<span className="hamburger-bar"></span> |
||||
|
</i> |
||||
|
</a> |
||||
|
</li> |
||||
|
<li className="active 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"> |
||||
|
<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"> |
||||
|
<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"> |
||||
|
<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> |
||||
|
</li> |
||||
|
</ul> |
||||
|
<ul className="nav navbar-toolbar navbar-right navbar-toolbar-right"> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-edexcoinmenu="COIN" id="btn_edexcoin_addcoin" data-target="#AddCoinDilogModel" data-toggle="modal" style={{ paddingBottom: '10px', paddingTop: '16px' }} onClick={this.toggleAddCoinModal}> |
||||
|
<span> |
||||
|
<img src="assets/images/icons/activatecoin.png" alt="Add Coin" /> |
||||
|
</span> |
||||
|
</a> |
||||
|
</li> |
||||
|
<li className={'dropdown' + (this.state.openDropMenu ? ' open' : '')} onClick={this.openDropMenu}> |
||||
|
<a className="navbar-avatar dropdown-toggle" data-toggle="dropdown" href="#" aria-expanded="false" |
||||
|
data-animation="scale-up" role="button"> |
||||
|
<span className="avatar avatar-online"> |
||||
|
<img src="assets/images/iguana_profile_02.jpg" alt="iguana profile pic" /> |
||||
|
<i></i> |
||||
|
</span> |
||||
|
</a> |
||||
|
<ul className="dropdown-menu" role="menu"> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" id="nav-iguana-wallet-settings" onClick={() => this.dashboardChangeSection('settings')}> |
||||
|
<i className="icon md-settings" aria-hidden="true"></i> {translate('INDEX.SETTINGS')} |
||||
|
</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" id="nav-about-iguana" onClick={() => this.dashboardChangeSection('about')}> |
||||
|
<i className="icon md-settings" aria-hidden="true"></i> {translate('INDEX.ABOUT_IGUANA')} |
||||
|
</a> |
||||
|
</li> |
||||
|
<li className="divider" role="presentation"></li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" id="logout-account" onClick={this.logout}> |
||||
|
<i className="icon md-power" aria-hidden="true"></i> {translate('INDEX.LOGOUT')} |
||||
|
</a> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</nav> |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default Navbar; |
@ -0,0 +1,173 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
//import { } from '../../actions/actionCreators';
|
||||
|
//import Store from '../../store';
|
||||
|
|
||||
|
// TODO: implement logic
|
||||
|
|
||||
|
class SendCoin extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.state = { |
||||
|
currentStep: 0, |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
changeSendCoinStep(step) { |
||||
|
this.setState(Object.assign({}, this.state, { |
||||
|
currentStep: step, |
||||
|
})); |
||||
|
} |
||||
|
|
||||
|
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"> |
||||
|
<div className="col-xlg-12 col-md-12 col-sm-12 col-xs-12"> |
||||
|
<div className="steps row" style={{marginTop: '10px'}}> |
||||
|
<div className={this.state.currentStep === 0 ? 'step col-md-4 current' : 'step col-md-4'} id="edexcoin_send_step_1"> |
||||
|
<span className="step-number">1</span> |
||||
|
<div className="step-desc"> |
||||
|
<span className="step-title">{translate('INDEX.FILL_SEND_FORM')}</span> |
||||
|
<p>{translate('INDEX.FILL_SEND_DETAILS')}</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className={this.state.currentStep === 1 ? 'step col-md-4 current' : 'step col-md-4'} id="edexcoin_send_step_2"> |
||||
|
<span className="step-number">2</span> |
||||
|
<div className="step-desc"> |
||||
|
<span className="step-title">{translate('INDEX.CONFIRMING')}</span> |
||||
|
<p>{translate('INDEX.CONFIRM_DETAILS')}</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className={this.state.currentStep === 2 ? 'step col-md-4 current' : 'step col-md-4'} id="edexcoin_send_step_3"> |
||||
|
<span className="step-number">3</span> |
||||
|
<div className="step-desc"> |
||||
|
<span className="step-title">{translate('INDEX.PROCESSING_TX')}</span> |
||||
|
<p>{translate('INDEX.PROCESSING_DETAILS')}</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div className={this.state.currentStep === 0 ? 'panel' : 'panel hide'} id="edexcoin-send-screen"> |
||||
|
<div className="panel-heading"> |
||||
|
<h3 data-edexcoin="COIN" className="panel-title"> |
||||
|
{translate('INDEX.SEND')} <span data-edexcoin="COIN"></span> |
||||
|
</h3> |
||||
|
<div className="panel-actions"> |
||||
|
<a href="javascript:void(0)" className="dropdown-toggle white btn-xs btn-info btn_refresh_edexcoin_send" data-edexcoin="COIN" aria-expanded="false" role="button"> |
||||
|
<i className="icon fa-refresh margin-right-10" aria-hidden="true"></i> {translate('INDEX.REFRESH_FUNDS')} |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="panel-body container-fluid"> |
||||
|
<form className="edexcoin-send-form" data-edexcoin="COIN" method="post" role="form" autoComplete="off"> |
||||
|
<div className="row"> |
||||
|
<div className="col-xlg-12 form-group form-material edexcoin_send_from_for_basilisk"> |
||||
|
<label className="control-label" data-edexcoin="COIN" htmlFor="edexcoin_send_from">{translate('INDEX.SEND_FROM')}</label> |
||||
|
<select className="form-control form-material showedexcoinaddrs show-tick" data-edexcoin="COIN" id="edexcoin_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-edexcoin="COIN" htmlFor="edexcoin_sendto">{translate('INDEX.SEND_TO')}</label> |
||||
|
<input type="text" className="form-control" data-edexcoin="COIN" id="edexcoin_sendto" name="edexcoin_sendto" placeholder="Enter address" autoComplete="off" required /> |
||||
|
</div> |
||||
|
<div className="col-lg-6 form-group form-material"> |
||||
|
<label className="control-label" htmlFor="edexcoin_amount" data-edexcoin="COIN" id="edexcoin_amount_label"> |
||||
|
<span data-edexcoin="COIN"></span> |
||||
|
</label> |
||||
|
<input type="text" className="form-control" data-edexcoin="COIN" id="edexcoin_amount" name="edexcoin_amount" placeholder="0.000" autoComplete="off" /> |
||||
|
</div> |
||||
|
<div className="col-lg-6 form-group form-material"> |
||||
|
<label className="control-label" data-edexcoin="COIN" htmlFor="edexcoin_fee">{translate('INDEX.FEE')}</label> |
||||
|
<input type="text" className="form-control" data-edexcoin="COIN" id="edexcoin_fee" name="edexcoin_fee" placeholder="0.000" autoComplete="off" /> |
||||
|
</div> |
||||
|
<div className="col-lg-12"> |
||||
|
<span data-edexcoin="KMD"> |
||||
|
<b>{translate('INDEX.TOTAL')} (<span data-edexcoin="COIN">{translate('INDEX.AMOUNT_SM')}</span> - txfee):</b> <span data-edexcoin="COIN" id="edexcoin_total_value">0.000</span> <span data-edexcoin="COIN" id="edexcoin_total_coinname" data-edexcoin="COIN"></span> |
||||
|
</span> |
||||
|
</div> |
||||
|
<div className="col-lg-10 margin-top-10"> |
||||
|
<div className="pull-left margin-right-10"> |
||||
|
<input type="checkbox" id="edexcoin_send_sig" name="edexcoin_send_sig" data-plugin="switchery" data-size="small" /> |
||||
|
</div> |
||||
|
<label className="padding-top-3" htmlFor="edexcoin_send_sig">{translate('INDEX.DONT_SEND')}</label> |
||||
|
</div> |
||||
|
<div className="col-lg-2"> |
||||
|
<button type="button" className="btn btn-primary waves-effect waves-light pull-right edexcoin_send_coins_btn_step1" onClick={() => this.changeSendCoinStep(1)}> |
||||
|
{translate('INDEX.SEND')} <span data-edexcoin="COIN"></span> |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div className={this.state.currentStep === 1 ? 'col-xlg-12 col-md-12 col-sm-12 col-xs-12' : 'col-xlg-12 col-md-12 col-sm-12 col-xs-12 hide'}> |
||||
|
<div className="panel" id="edexcoin-send-confirm-screen"> |
||||
|
<div className="panel-body"> |
||||
|
<div className="row"> |
||||
|
<div className="col-xs-12"> |
||||
|
<b>{translate('INDEX.TO')}</b> |
||||
|
</div> |
||||
|
<div className="col-lg-6 col-sm-6 col-xs-12" id="mdl_confirm_currency_sendto_addr">[coin-address-goes-here]</div> |
||||
|
<div className="col-lg-6 col-sm-6 col-xs-6"> |
||||
|
<span id="mdl_confirm_currency_send_amount">0.00000000</span> <span id="mdl_confirm_currency_coinname">[COIN]</span> |
||||
|
</div> |
||||
|
<div className="col-lg-6 col-sm-6 col-xs-12">{translate('INDEX.TX_FEE_REQ')}</div> |
||||
|
<div className="col-lg-6 col-sm-6 col-xs-6"> |
||||
|
<span id="mdl_confirm_currency_send_fee">0.00000000</span> <span id="mdl_confirm_currency_coinname_fee">[COIN]</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<br /> |
||||
|
|
||||
|
<div className="row"> |
||||
|
<div className="col-xs-12"> |
||||
|
<b>{translate('INDEX.FROM')}</b> |
||||
|
</div> |
||||
|
<div className="col-lg-6 col-sm-6 col-xs-12" id="mdl_confirm_currency_sendfrom_addr">[coin-address-goes-here]</div> |
||||
|
<div className="col-lg-6 col-sm-6 col-xs-6" style={{color: '#f44336'}}> |
||||
|
<span id="mdl_confirm_currency_sendfrom_total_dedcut">-0.00000000</span> <span id="mdl_confirm_currency_coinname_total">[COIN]</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="widget-body-footer"> |
||||
|
<a className="btn btn-default waves-effect waves-light" id="edexcoin_send_coins_back_btn" onClick={() => this.changeSendCoinStep(0)}>{translate('INDEX.BACK')}</a> |
||||
|
<div className="widget-actions pull-right"> |
||||
|
<button type="button" className="btn btn-primary" id="edexcoin_send_coins_btn" onClick={() => this.changeSendCoinStep(2)}>{translate('INDEX.CONFIRM')}</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div className={this.state.currentStep === 2 ? 'col-xlg-12 col-md-12 col-sm-12 col-xs-12' : 'col-xlg-12 col-md-12 col-sm-12 col-xs-12 hide'}> |
||||
|
<div className="panel" id="edexcoin-send-txdetails-screen"> |
||||
|
<div className="panel-heading"> |
||||
|
<h4 className="panel-title">{translate('INDEX.TRANSACTION_RESULT')}</h4> |
||||
|
<table className="table table-hover table-striped edexcoin_sendto_result" data-edexcoin="COIN" id="edexcoin_sendto_result"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>{translate('INDEX.KEY')}</th> |
||||
|
<th>{translate('INDEX.INFO')}</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
<div className="widget-body-footer"> |
||||
|
<div className="widget-actions margin-bottom-15 margin-right-15"> |
||||
|
<button type="button" className="btn btn-primary" id="edexcoin_send_coins_anothertx_btn" onClick={() => this.changeSendCoinStep(0)}>{translate('INDEX.MAKE_ANOTHER_TX')}</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} else { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default SendCoin; |
@ -0,0 +1,90 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
|
||||
|
class WalletsBalance extends React.Component { |
||||
|
render() { |
||||
|
if (this.props && this.props.coin) { |
||||
|
return ( |
||||
|
<div id="wallet-widgets" data-plugin="masonry" data-edexcoin="COIN"> |
||||
|
<div className="col-xs-12"> |
||||
|
<div className={this.props.coin.mode === 'native' || this.props.coin.mode === 'full' ? 'col-xs-12' : 'col-xs-12 hide'}> |
||||
|
<div role="alert" className="alert alert-info alert-dismissible" data-edexcoin="COIN" id="edexcoin-wallet-waitingrt-alert"> |
||||
|
<button aria-label="Close" data-dismiss="alert" className="close" type="button"> |
||||
|
<span aria-hidden="true">×</span> |
||||
|
</button> |
||||
|
<h4>{translate('INDEX.ACTIVATING_WALLET_RT')}</h4> |
||||
|
<p data-edexcoin="COIN" id="edexcoin-wallet-waitingrt-alert-text">{translate('INDEX.IGUANA_FULL_MODE_SYNC_P1')}</p> |
||||
|
<p>{translate('INDEX.IGUANA_FULL_MODE_SYNC_P2')}</p> |
||||
|
<p style={{fontWeight: '600'}}>{translate('INDEX.IGUANA_FULL_MODE_SYNC_P3')}</p> |
||||
|
</div> |
||||
|
|
||||
|
<div role="alert" className="alert alert-info alert-dismissible" data-edexcoin="COIN" id="edexcoin-wallet-waitingcache-alert"> |
||||
|
<button aria-label="Close" data-dismiss="alert" className="close" type="button"> |
||||
|
<span aria-hidden="true">×</span> |
||||
|
</button> |
||||
|
<h4>{translate('INDEX.FETCHING_COIN_DATA')}</h4> |
||||
|
<p data-edexcoin="COIN" id="edexcoin-wallet-waitingcache-alert-text">{translate('INDEX.IGUANA_FULL_MODE_SYNC_P1')}</p> |
||||
|
<p>{translate('INDEX.IGUANA_FULL_MODE_SYNC_P2')}</p> |
||||
|
<p style={{fontWeight: '600'}}>{translate('INDEX.IGUANA_FULL_MODE_SYNC_P3')}</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="col-lg-12 col-xs-12" data-edexcoin="COIN" id="edexcoin_getbalance_t"> |
||||
|
<div className="widget widget-shadow" id="widgetLineareaOne"> |
||||
|
<div className="widget-content"> |
||||
|
<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.BALANCE')} |
||||
|
</div> |
||||
|
<span className="pull-right padding-top-10" data-edexcoin="COIN" style={{fontSize: '22px'}}> |
||||
|
<span data-edexcoin="COIN" id="edex_total_balance"></span> <span data-edexcoin="COIN" id="edex_total_balance_coincode">{this.props && this.props.ActiveCoin && this.props.ActiveCoin.balance ? this.props.ActiveCoin.balance : 0}</span> |
||||
|
</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div className={this.props.coin.mode === 'native' ? 'col-lg-4 col-xs-12' : 'col-lg-4 col-xs-12 hide'} data-edexcoin="COIN" id="edexcoin_getbalance_interest"> |
||||
|
<div className="widget widget-shadow" id="widgetLineareaOne"> |
||||
|
<div className="widget-content"> |
||||
|
<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-edexcoin="COIN" style={{fontSize: '22px'}}> |
||||
|
<span data-edexcoin="COIN" id="edex_interest_balance"></span> <span data-edexcoin="COIN" id="edex_total_interest_coincode"></span> |
||||
|
</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div className={this.props.coin.mode === 'native' ? 'col-lg-4 col-xs-12' : 'col-lg-4 col-xs-12 hide'} data-edexcoin="COIN" id="edexcoin_getbalance_total_interest"> |
||||
|
<div className="widget widget-shadow" id="widgetLineareaOne"> |
||||
|
<div className="widget-content"> |
||||
|
<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.TOTAL_BALANCE')} |
||||
|
</div> |
||||
|
<span className="pull-right padding-top-10" data-edexcoin="COIN" style={{fontSize: '22px'}}> |
||||
|
<span data-edexcoin="COIN" id="edex_total_balance_interest"></span> <span data-edexcoin="COIN" id="edex_total_balance_interest_coincode"></span> |
||||
|
</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} else { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default WalletsBalance; |
@ -0,0 +1,39 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
|
||||
|
classNameName WalletsBasiliskRefresh extends React.Component { |
||||
|
render() { |
||||
|
return ( |
||||
|
<div data-edexcoin="COIN" id="edexcoin_dashboard_basilisk_refresh_status"> |
||||
|
<div className="col-xs-12 margin-top-20"> |
||||
|
<div className="col-xs-12"> |
||||
|
<div className="panel"> |
||||
|
<div className="panel-heading"> |
||||
|
<h3 className="panel-title">{translate('INDEX.FETCHING_BASILISK_DATA')}</h3> |
||||
|
<div className="panel-actions"> |
||||
|
<a className="panel-action icon md-refresh-alt" data-toggle="panel-refresh" data-load-type="blue-only" aria-hidden="true"></a> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="table-responsive"> |
||||
|
<table className="table table-hover table-striped tbl_edexcoin_dashboard_basilisk_refresh_status"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>{translate('INDEX.ADDRESS')}</th> |
||||
|
<th>{translate('INDEX.LIST_UNSPENT')}</th> |
||||
|
<th>{translate('INDEX.LIST_TRANSACTIONS')}</th> |
||||
|
<th>{translate('INDEX.GET_BALANCE')}</th> |
||||
|
<th>{translate('INDEX.REFRESH')}</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody></tbody> |
||||
|
</table> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default WalletsBasiliskRefresh; |
@ -0,0 +1,104 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
/*import { } from '../../actions/actionCreators'; |
||||
|
import Store from '../../store';*/ |
||||
|
|
||||
|
class WalletsData extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.state = { |
||||
|
basiliskActionsMenu: false, |
||||
|
}; |
||||
|
this.toggleBasiliskActionsMenu = this.toggleBasiliskActionsMenu.bind(this); |
||||
|
} |
||||
|
|
||||
|
toggleBasiliskActionsMenu() { |
||||
|
this.setState(Object.assign({}, this.state, { |
||||
|
basiliskActionsMenu: !this.state.basiliskActionsMenu, |
||||
|
})); |
||||
|
} |
||||
|
|
||||
|
render() { |
||||
|
if (this.props && this.props.coin) { |
||||
|
return ( |
||||
|
<div data-edexcoin="COIN" id="edexcoin_dashboardinfo"> |
||||
|
<div className="col-xs-12 margin-top-20"> |
||||
|
<div className="panel nav-tabs-horizontal"> |
||||
|
<div data-edexcoin="COIN" id="edexcoin_dashoard_section"> |
||||
|
<div className="col-xlg-12 col-lg-12 col-sm-12 col-xs-12 edexcoin_dashoard_section_main_div"> |
||||
|
<div id="edexcoin_txhistory" className="panel"> |
||||
|
<header className="panel-heading" style={{zIndex: '10'}}> |
||||
|
<div className="panel-actions"> |
||||
|
<a href="javascript:void(0)" className="dropdown-toggle white btn-xs btn-info btn_refresh_edexcoin_dashboard" data-edexcoin="COIN" aria-expanded="false" role="button"> |
||||
|
<i className="icon fa-refresh margin-right-10" aria-hidden="true"></i> {translate('INDEX.REFRESH')} |
||||
|
</a> |
||||
|
<div className={this.state.basiliskActionsMenu ? 'dropdown open' : 'dropdown'} onClick={this.toggleBasiliskActionsMenu}> |
||||
|
<a className="dropdown-toggle btn-xs btn-default" data-edexcoin="COIN" id="btn_edexcoin_basilisk" data-toggle="dropdown" href="javascript:void(0)" |
||||
|
aria-expanded="false" role="button"> |
||||
|
<i className="icon fa-magic margin-right-10" aria-hidden="true"></i> {translate('INDEX.BASILISK_ACTIONS')} <span className="caret"></span> |
||||
|
</a> |
||||
|
<ul className="dropdown-menu dropdown-menu-right" aria-labelledby="btn_edexcoin_basilisk" |
||||
|
role="menu"> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" className="btn_edexcoin_dashboard_getnotaries" data-edexcoin="COIN" id="btn_edexcoin_dashboard_getnotaries" role="menuitem"> |
||||
|
<i className="icon fa-sitemap" aria-hidden="true"></i> {translate('INDEX.GET_NOTARY_NODES_LIST')} |
||||
|
</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" className="btn_edexcoin_dashboard_refresh_basilisk_conn" data-edexcoin="COIN" id="btn_edexcoin_dashboard_refresh_basilisk_conn" role="menuitem"> |
||||
|
<i className="icon wb-refresh" aria-hidden="true"></i> {translate('INDEX.REFRESH_BASILISK_CONNECTIONS')} |
||||
|
</a> |
||||
|
</li> |
||||
|
<li data-edexcoin="COIN" role="presentation"> |
||||
|
<a href="javascript:void(0)" className="btn_edexcoin_dashboard_fetchdata" data-edexcoin="COIN" id="btn_edexcoin_dashboard_fetchdata" role="menuitem"> |
||||
|
<i className="icon fa-cloud-download" aria-hidden="true"></i> {translate('INDEX.FETCH_WALLET_DATA')} |
||||
|
</a> |
||||
|
</li> |
||||
|
<li data-edexcoin="COIN" role="presentation"> |
||||
|
<a href="javascript:void(0)" className="btn_edexcoin_dashboard_refetchdata" data-edexcoin="COIN" id="btn_edexcoin_dashboard_refetchdata" role="menuitem"> |
||||
|
<i className="icon fa-cloud-download" aria-hidden="true"></i> {translate('INDEX.REFETCH_WALLET_DATA')} |
||||
|
</a> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
<h4 className="panel-title">{translate('INDEX.TRANSACTION_HISTORY')}</h4> |
||||
|
</header> |
||||
|
<div className="panel-body"> |
||||
|
<table className="table table-hover dataTable table-striped" data-edexcoin="COIN" id="edex-tx-history-tbl" width="100%"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>{translate('INDEX.DIRECTION')}</th> |
||||
|
<th className="hidden-xs hidden-sm">{translate('INDEX.CONFIRMATIONS')}</th> |
||||
|
<th>{translate('INDEX.AMOUNT')}</th> |
||||
|
<th>{translate('INDEX.TIME')}</th> |
||||
|
<th>{translate('INDEX.DEST_ADDRESS')}</th> |
||||
|
<th className="hidden-xs hidden-sm">{translate('INDEX.TX_DETAIL')}</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tfoot> |
||||
|
<tr> |
||||
|
<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 className="hidden-xs hidden-sm">{translate('INDEX.TX_DETAIL')}</th> |
||||
|
</tr> |
||||
|
</tfoot> |
||||
|
</table> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} else { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default WalletsData; |
@ -0,0 +1,108 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
//import { dashboardChangeSection, toggleAddcoinModal } from '../../actions/actionCreators';
|
||||
|
//import Store from '../../store';
|
||||
|
|
||||
|
class WalletsHeader extends React.Component { |
||||
|
render() { |
||||
|
if (this.props && this.props.coin) { |
||||
|
return ( |
||||
|
<div className="page-header page-header-bordered header-easydex margin-bottom-0" id="easydex-header-div"> |
||||
|
<h1 className="page-title">EasyDEX</h1> |
||||
|
<ol className="breadcrumb"> |
||||
|
<li className="header-easydex-section">{translate('INDEX.DASHBOARD')}</li> |
||||
|
</ol> |
||||
|
<div className="page-header-actions" style={{zIndex: '1'}}> |
||||
|
<div id="kmd_header_button"> |
||||
|
<button type="button" id="easydex_kmd_wallet_actions_header" className="bg-teal-500 btn btn-floating white waves-effect waves-float waves-light" data-toggle="dropdown" aria-expanded="false"> |
||||
|
<i className="icon md-plus" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
<ul className="dropdown-menu animate dropdown-menu-right" aria-labelledby="easydex_kmd_wallet_actions_header" role="menu"> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_kmd_wallet_dashboard">{translate('INDEX.DASHBOARD')}</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_kmd_wallet_send">{translate('INDEX.SEND')}</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_kmd_wallet_recieve">{translate('INDEX.RECEIVE')}</a> |
||||
|
</li> |
||||
|
<li className="divider" role="presentation"></li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_kmd_wallet_settings">{translate('INDEX.SETTINGS')}</a> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
|
||||
|
<div id="zec_header_button"> |
||||
|
<button type="button" id="easydex_zec_wallet_actions_header" className="bg-yellow-600 btn btn-floating white waves-effect waves-float waves-light" data-toggle="dropdown" aria-expanded="false"> |
||||
|
<i className="icon md-plus" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
<ul className="dropdown-menu animate dropdown-menu-right" aria-labelledby="easydex_zec_wallet_actions_header" role="menu"> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="ZEC" id="btn_zec_wallet_dashboard">{translate('INDEX.DASHBOARD')}</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="ZEC" id="btn_zec_wallet_send">{translate('INDEX.SEND')}</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="ZEC" id="btn_zec_wallet_recieve">{translate('INDEX.RECEIVE')}</a> |
||||
|
</li> |
||||
|
<li className="divider" role="presentation"></li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="ZEC" id="btn_zec_wallet_settings">{translate('INDEX.SETTINGS')}</a> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
|
||||
|
<div id="kmd_header_button"> |
||||
|
<button type="button" id="jumblr_actions_header" className="btn white waves-effect waves-light"> |
||||
|
<i className="icon fa-refresh" aria-hidden="true"></i>{translate('INDEX.REFRESH')} |
||||
|
</button> |
||||
|
</div> |
||||
|
|
||||
|
<div id="kmd_header_button"> |
||||
|
<button type="button" id="easydex_acpax_wallet_actions_header" className="bg-teal-500 btn btn-floating white waves-effect waves-float waves-light" data-toggle="dropdown" aria-expanded="false"> |
||||
|
<i className="icon md-plus" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
<ul className="dropdown-menu animate dropdown-menu-right" aria-labelledby="easydex_acpax_wallet_actions_header" role="menu"> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_acpax_wallet_dashboard">{translate('INDEX.DASHBOARD')}</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_acpax_wallet_send">{translate('INDEX.SEND')}</a> |
||||
|
</li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_acpax_wallet_recieve">{translate('INDEX.RECEIVE')}</a> |
||||
|
</li> |
||||
|
<li className="divider" role="presentation"></li> |
||||
|
<li role="presentation"> |
||||
|
<a href="javascript:void(0)" role="menuitem" data-extcoin-menu="KMD" id="btn_acpax_wallet_settings">{translate('INDEX.SETTINGS')}</a> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
|
||||
|
<div className="row no-space width-350 hidden-xs" id="easydex_btc_btcd_balances_header"> |
||||
|
<div className="col-xs-6"> |
||||
|
<div className="counter"> |
||||
|
<span className="font-weight-medium" data-currency="BTC" id="header_coinname_balance"> - BTC</span> |
||||
|
<span className="counter-label small" data-currency="BTC" id="header_coinfiatbalance"> - USD</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="col-xs-6"> |
||||
|
<div className="counter"> |
||||
|
<span className="font-weight-medium" data-currency="BTCD" id="header_coinname_balance"> - BTCD</span> |
||||
|
<span className="counter-label small" data-currency="BTCD" id="header_coinfiatbalance"> - USD</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} else { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default WalletsHeader; |
@ -0,0 +1,73 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
import { copyCoinAddress, iguanaEdexBalance, toggleSendCoinForm, toggleReceiveCoinForm, toggleSendReceiveCoinForms } from '../../actions/actionCreators'; |
||||
|
import Store from '../../store'; |
||||
|
|
||||
|
class WalletsNav extends React.Component { |
||||
|
constructor(props) { |
||||
|
super(props); |
||||
|
this.toggleSendReceiveCoinForms = this.toggleSendReceiveCoinForms.bind(this); |
||||
|
} |
||||
|
|
||||
|
componentWillMount() { |
||||
|
Store.dispatch(iguanaEdexBalance(this.props.ActiveCoin.coin)); |
||||
|
} |
||||
|
|
||||
|
copyMyAddress(address) { |
||||
|
Store.dispatch(copyCoinAddress(address)); |
||||
|
} |
||||
|
|
||||
|
toggleSendReceiveCoinForms() { |
||||
|
Store.dispatch(toggleSendReceiveCoinForms()); |
||||
|
} |
||||
|
|
||||
|
toggleSendCoinForm(display) { |
||||
|
console.log(display); |
||||
|
Store.dispatch(toggleSendCoinForm(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> |
||||
|
<span style={{fontSize: '24px', textAlign: 'center'}}> |
||||
|
<i className="icon fa-paw" aria-hidden="true"></i> {translate('INDEX.NO_WALLET_CAPS')} |
||||
|
</span> |
||||
|
<br/> |
||||
|
{translate('INDEX.PLEASE_SELECT_A_WALLET')}. |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} else { |
||||
|
return ( |
||||
|
<div> |
||||
|
<div className="page-header page-header-bordered header-easydex" id="header-dashboard" data-edexcoin="COIN"> |
||||
|
<ol className="breadcrumb" data-edexcoin="COIN"> |
||||
|
<b>{translate('INDEX.MY')} <span data-edexcoin="COIN" id="edexcoin-active">{this.props && this.props.ActiveCoin ? this.props.ActiveCoin.coin : '-'}</span> {translate('INDEX.ADDRESS')}: </b> <span data-edexcoin="COIN" 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" data-edexcoin="COIN" id="edexcoin_active_addr_clipboard" data-clipboard-text="" onClick={() => this.copyMyAddress(this.props.Dashboard.activeHandle[this.props.ActiveCoin.coin])}><i className="icon wb-copy" aria-hidden="true"></i> {translate('INDEX.COPY')}</button> |
||||
|
</ol> |
||||
|
<div className="page-header-actions" data-edexcoin="COIN" id="edexcoin-actions"> |
||||
|
<div id="kmd_header_button"> |
||||
|
<button type="button" className="btn btn-dark waves-effect waves-light" data-edexcoinmenu="COIN" id="btn_edexcoin_dashboard" onClick={this.toggleSendReceiveCoinForms}> |
||||
|
<i className="icon md-view-dashboard" aria-hidden="true"></i> {translate('INDEX.DASHBOARD')} |
||||
|
</button> |
||||
|
<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"> |
||||
|
<i className="icon fa-inbox" aria-hidden="true"></i> {translate('INDEX.RECEIVE')} |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default WalletsNav; |
@ -0,0 +1,43 @@ |
|||||
|
import React from 'react'; |
||||
|
import { translate } from '../../translate/translate'; |
||||
|
|
||||
|
class WalletsProgress extends React.Component { |
||||
|
render() { |
||||
|
if (this.props && this.props.ActiveCoin && this.props.ActiveCoin.mode === 'full') { |
||||
|
return ( |
||||
|
<div id="edex-footer" data-edexcoin="COIN"> |
||||
|
<div className="row no-space" data-edexcoin="COIN"> |
||||
|
<div data-edexcoin="COIN" id="currency-progressbars"> |
||||
|
<div className="progress progress-sm"> |
||||
|
<div className="progress-bar progress-bar-info progress-bar-striped active" style={{width: '10%', fontSize: '80%'}} role="progressbar" data-edexcoin="COIN" id="currency-bundles"> |
||||
|
<span data-lang="INDEX.BUNDLES"></span> <span data-edexcoin="COIN" id="currency-bundles-percent">0%</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div data-edexcoin="COIN" id="additional-progress-bars"> |
||||
|
<div className="progress progress-sm"> |
||||
|
<div className="progress-bar progress-bar-warning progress-bar-striped active" style={{width: '20%', fontSize: '80%'}} role="progressbar" data-edexcoin="COIN" id="currency-utxo"> |
||||
|
utxo <span data-edexcoin="COIN" id="currency-utxo-percent">0%</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="progress progress-sm"> |
||||
|
<div className="progress-bar progress-bar-danger progress-bar-striped active" style={{width: '20%', fontSize: '80%'}} role="progressbar" data-edexcoin="COIN" id="currency-balances"> |
||||
|
<span data-lang="INDEX.BALANCES"></span> <span data-edexcoin="COIN" id="currency-balances-percent">0%</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div className="progress progress-sm"> |
||||
|
<div className="progress-bar progress-bar-success progress-bar-striped active" style={{width: '20%', fontSize: '80%'}} role="progressbar" data-edexcoin="COIN" id="currency-validated"> |
||||
|
<span data-lang="INDEX.VALIDATED"></span> <span data-edexcoin="COIN" id="currency-validated-percent">0%</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
); |
||||
|
} else { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default WalletsProgress; |
@ -0,0 +1,40 @@ |
|||||
|
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, |
||||
|
mode: null, |
||||
|
send: false, |
||||
|
receive: false, |
||||
|
balance: 0, |
||||
|
}, action) { |
||||
|
switch (action.type) { |
||||
|
case DASHBOARD_ACTIVE_COIN_CHANGE: |
||||
|
return Object.assign({}, state, { |
||||
|
coin: action.coin, |
||||
|
mode: action.mode, |
||||
|
}); |
||||
|
case DASHBOARD_ACTIVE_COIN_BALANCE: |
||||
|
return Object.assign({}, state, { |
||||
|
balance: action.balance, |
||||
|
}); |
||||
|
case DASHBOARD_ACTIVE_COIN_SEND_FORM: |
||||
|
return Object.assign({}, state, { |
||||
|
send: action.send, |
||||
|
receive: false, |
||||
|
}); |
||||
|
case DASHBOARD_ACTIVE_COIN_RECEIVE_FORM: |
||||
|
return Object.assign({}, state, { |
||||
|
send: false, |
||||
|
receive: action.receive, |
||||
|
}); |
||||
|
case DASHBOARD_ACTIVE_COIN_RESET_FORMS: |
||||
|
return Object.assign({}, state, { |
||||
|
send: false, |
||||
|
receive: false, |
||||
|
}); |
||||
|
default: |
||||
|
return state; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default ActiveCoin; |
@ -0,0 +1,21 @@ |
|||||
|
import { DASHBOARD_SECTION_CHANGE, GET_MAIN_ADDRESS } from '../actions/actionCreators'; |
||||
|
|
||||
|
export function Dashboard(state = { |
||||
|
activeSection: 'wallets', |
||||
|
activeHandle: null, |
||||
|
}, action) { |
||||
|
switch (action.type) { |
||||
|
case DASHBOARD_SECTION_CHANGE: |
||||
|
return Object.assign({}, state, { |
||||
|
activeSection: action.activeSection, |
||||
|
}); |
||||
|
case GET_MAIN_ADDRESS: |
||||
|
return Object.assign({}, state, { |
||||
|
activeHandle: action.activeHandle, |
||||
|
}); |
||||
|
default: |
||||
|
return state; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default Dashboard; |
@ -0,0 +1,26 @@ |
|||||
|
import { GET_ACTIVE_COINS, LOGIN, ACTIVE_HANDLE } from '../actions/actionCreators' |
||||
|
|
||||
|
export function Main(state = { |
||||
|
isLoggedIn: false, |
||||
|
activeCoins: [], |
||||
|
}, action) { |
||||
|
switch (action.type) { |
||||
|
case GET_ACTIVE_COINS: |
||||
|
return Object.assign({}, state, { |
||||
|
activeCoins: action.activeCoins, |
||||
|
coins: action.coins, |
||||
|
}); |
||||
|
case LOGIN: |
||||
|
return Object.assign({}, state, { |
||||
|
isLoggedIn: action.isLoggedIn, |
||||
|
}); |
||||
|
case ACTIVE_HANDLE: |
||||
|
return Object.assign({}, state, { |
||||
|
isLoggedIn: action.isLoggedIn, |
||||
|
}); |
||||
|
default: |
||||
|
return state; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default Main; |
@ -0,0 +1,16 @@ |
|||||
|
export function copyToClipboard(value) { |
||||
|
var result; |
||||
|
var copyTextarea = document.querySelector('#js-copytextarea'); |
||||
|
|
||||
|
document.getElementById('js-copytextarea').value = value; |
||||
|
copyTextarea.select(); |
||||
|
|
||||
|
try { |
||||
|
var successful = document.execCommand('copy'); |
||||
|
result = 1; |
||||
|
} catch (err) { |
||||
|
result = 0; |
||||
|
} |
||||
|
|
||||
|
return result; |
||||
|
}; |
Loading…
Reference in new issue