@ -92,7 +92,9 @@ class Settings extends React.Component {
if ( this . props . Settings . rawPeers &&
this . state . getPeersCoin &&
this . props . Settings . rawPeers [ coin ] ) {
return this . props . Settings . rawPeers [ coin ] . map ( ( ip ) => < div key = { ip } > { ip } < / d i v > ) ;
return this . props . Settings . rawPeers [ coin ] . map ( ( ip ) =>
< div key = { ip } > { ip } < / d i v >
) ;
} else {
return null ;
}
@ -107,70 +109,74 @@ class Settings extends React.Component {
if ( releaseInfo ) {
return (
< div className = "panel" id = "AppInfo" >
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'AppInfo' , 8 ) } >
< a className = { this . state . activeTab === 8 ? 'panel-title' : 'panel-title collapsed' } data - toggle = "collapse" data - parent = "#AppInfoAccordion" >
< i className = "icon md-info" aria - hidden = "true" > < / i > A p p I n f o
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'AppInfo' , 8 ) } >
< a className = { this . state . activeTab === 8 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon md-info" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' S E T T I N G S . A P P _ I N F O ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 8 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } style = { { height : this . state . activeTab === 8 ? this . state . activeTabHeight + 'px' : '10px' } } aria - labelledby = "DebugLog" role = "tabpanel" >
< div
className = { this . state . activeTab === 8 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 8 ? this . state . activeTabHeight + 'px' : '10px' } }
aria - labelledby = "DebugLog"
role = "tabpanel" >
< div className = "panel-body" >
< div className = "col-sm-12" style = { { paddingTop : '15px' } } >
< div className = "col-sm-12" style = { { paddingTop : '15px' } } >
< div className = "row" >
< h5 > App Release < / h 5 >
< h5 > { translate ( 'SETTINGS.APP_RELEASE' ) } < / h 5 >
< div >
Name : { this . props . Settings . appInfo . releaseInfo . name }
{ translate ( 'SETTINGS.NAME' ) } : { this . props . Settings . appInfo . releaseInfo . name }
< / d i v >
< div >
Version : { this . props . Settings . appInfo . releaseInfo . version }
{ translate ( 'SETTINGS.VERSION' ) } : { this . props . Settings . appInfo . releaseInfo . version }
< / d i v >
< / d i v >
< / d i v >
< div className = "col-sm-12" style = { { paddingTop : '20px' } } >
< div className = "col-sm-12" style = { { paddingTop : '20px' } } >
< div className = "row" >
< h5 > System Info < / h 5 >
< h5 > { translate ( 'SETTINGS.SYS_INFO' ) } < / h 5 >
< div >
Architecture : { this . props . Settings . appInfo . sysInfo . arch }
{ translate ( 'SETTINGS.ARCH' ) } : { this . props . Settings . appInfo . sysInfo . arch }
< / d i v >
< div >
OS Type : { this . props . Settings . appInfo . sysInfo . os_type }
{ translate ( 'SETTINGS.OS_TYPE' ) } : { this . props . Settings . appInfo . sysInfo . os_type }
< / d i v >
< div >
OS Platfrom : { this . props . Settings . appInfo . sysInfo . platform }
{ translate ( 'SETTINGS.OS_PLATFORM' ) } : { this . props . Settings . appInfo . sysInfo . platform }
< / d i v >
< div >
OS Release : { this . props . Settings . appInfo . sysInfo . os_release }
{ translate ( 'SETTINGS.OS_RELEASE' ) } : { this . props . Settings . appInfo . sysInfo . os_release }
< / d i v >
< div >
CPU : { this . props . Settings . appInfo . sysInfo . cpu }
{ translate ( 'SETTINGS. CPU' ) } : { this . props . Settings . appInfo . sysInfo . cpu }
< / d i v >
< div >
CPU Cores : { this . props . Settings . appInfo . sysInfo . cpu_cores }
{ translate ( 'SETTINGS.CPU_CORES' ) } : { this . props . Settings . appInfo . sysInfo . cpu_cores }
< / d i v >
< div >
Memory : { this . props . Settings . appInfo . sysInfo . totalmem_readable }
{ translate ( 'SETTINGS.MEM' ) } : { this . props . Settings . appInfo . sysInfo . totalmem_readable }
< / d i v >
< / d i v >
< / d i v >
< div className = "col-sm-12" style = { { paddingTop : '20px' } } >
< div className = "col-sm-12" style = { { paddingTop : '20px' } } >
< div className = "row" >
< h5 > Locations < / h 5 >
< h5 > { translate ( 'SETTINGS.LOCATIONS' ) } < / h 5 >
< div >
Cache : { this . props . Settings . appInfo . dirs . cacheLocation }
{ translate ( 'SETTINGS.CACHE' ) } : { this . props . Settings . appInfo . dirs . cacheLocation }
< / d i v >
< div >
Config : { this . props . Settings . appInfo . dirs . configLocation }
{ translate ( 'SETTINGS.CONFIG' ) } : { this . props . Settings . appInfo . dirs . configLocation }
< / d i v >
< div >
Iguana Bin : { this . props . Settings . appInfo . dirs . iguanaBin }
Iguana { translate ( 'SETTINGS.BIN' ) } : { this . props . Settings . appInfo . dirs . iguanaBin }
< / d i v >
< div >
Iguana Dir : { this . props . Settings . appInfo . dirs . iguanaDir }
Iguana { translate ( 'SETTINGS.DIR' ) } : { this . props . Settings . appInfo . dirs . iguanaDir }
< / d i v >
< div >
Komodo Bin : { this . props . Settings . appInfo . dirs . komododBin }
Komodo { translate ( 'SETTINGS.BIN' ) } : { this . props . Settings . appInfo . dirs . komododBin }
< / d i v >
< div >
Komodo Dir : { this . props . Settings . appInfo . dirs . komodoDir }
Komodo { translate ( 'SETTINGS.DIR' ) } : { this . props . Settings . appInfo . dirs . komodoDir }
< / d i v >
< / d i v >
< / d i v >
@ -190,7 +196,9 @@ class Settings extends React.Component {
if ( this . props . Settings . supernetPeers &&
this . state . getPeersCoin &&
this . props . Settings . supernetPeers [ coin ] ) {
return this . props . Settings . supernetPeers [ coin ] . map ( ( ip ) => < div key = { ip } > { ip } < / d i v > ) ;
return this . props . Settings . supernetPeers [ coin ] . map ( ( ip ) =>
< div key = { ip } > { ip } < / d i v >
) ;
} else {
return null ;
}
@ -217,15 +225,12 @@ class Settings extends React.Component {
for ( let key in _ appSettings ) {
if ( key . indexOf ( '__' ) === - 1 ) {
_ appSettingsPristine [ key ] = _ appSettings [ key ] ;
// console.log('key changed: ' + key + ', value: ' + _appSettings[key]);
} else {
const _ nestedKey = key . split ( '__' ) ;
_ appSettingsPristine [ _ nestedKey [ 0 ] ] [ _ nestedKey [ 1 ] ] = _ appSettings [ key ] ;
// console.log('key changed: ' + _nestedKey[0] + '.' + _nestedKey[1] + ', value: ' + _appSettings[key]);
}
}
// console.log('changed settings obj', _appSettingsPristine);
Store . dispatch ( saveAppConfig ( _ appSettingsPristine ) ) ;
}
@ -236,34 +241,42 @@ class Settings extends React.Component {
for ( let key in _ appConfig ) {
if ( typeof _ appConfig [ key ] === 'object' ) {
items . push (
< tr key = { ` app-settings- ${ key } ` } >
< td style = { { padding : '15px' } } >
{ key }
< tr key = { ` app-settings- ${ key } ` } >
< td style = { { padding : '15px' } } >
{ key }
< / t d >
< td style = { { padding : '15px' } } > < / t d >
< td style = { { padding : '15px' } } > < / t d >
< / t r >
) ;
for ( let _ key in _ appConfig [ key ] ) {
items . push (
< tr key = { ` app-settings- ${ key } - ${ _ key } ` } >
< td style = { { padding : '15px' , paddingLeft : '30px' } } >
{ _ key }
< tr key = { ` app-settings- ${ key } - ${ _ key } ` } >
< td style = { { padding : '15px' , paddingLeft : '30px' } } >
{ _ key }
< / t d >
< td style = { { padding : '15px' } } >
< input type = "text" name = { ` ${ key } __ ${ _ key } ` } defaultValue = { _ appConfig [ key ] [ _ key ] } onChange = { this . updateInputSettings } / >
< td style = { { padding : '15px' } } >
< input
type = "text"
name = { ` ${ key } __ ${ _ key } ` }
defaultValue = { _ appConfig [ key ] [ _ key ] }
onChange = { this . updateInputSettings } / >
< / t d >
< / t r >
) ;
}
} else {
items . push (
< tr key = { ` app-settings- ${ key } ` } >
< td style = { { padding : '15px' } } >
{ key }
< tr key = { ` app-settings- ${ key } ` } >
< td style = { { padding : '15px' } } >
{ key }
< / t d >
< td style = { { padding : '15px' } } >
< input type = "text" name = { ` ${ key } ` } defaultValue = { _ appConfig [ key ] } onChange = { this . updateInputSettings } / >
< td style = { { padding : '15px' } } >
< input
type = "text"
name = { ` ${ key } ` }
defaultValue = { _ appConfig [ key ] }
onChange = { this . updateInputSettings } / >
< / t d >
< / t r >
) ;
@ -284,7 +297,7 @@ class Settings extends React.Component {
return _ translationComponents . map ( ( _ translation ) =>
< span >
{ _ translation }
{ _ translation }
< br / >
< / s p a n >
) ;
@ -298,58 +311,63 @@ class Settings extends React.Component {
< div className = "col-xlg-12 col-md-12" >
< div className = "row" id = "iguana-wallet-settings" >
< div className = "col-xlg-12 col-md-12" >
< h4 className = "font-size-14 text-uppercase" > { translate ( 'INDEX.WALLET_SETTINGS' ) } < / h 4 >
< h4 className = "font-size-14 text-uppercase" > { translate ( 'INDEX.WALLET_SETTINGS' ) } < / h 4 >
< div className = "panel-group" id = "SettingsAccordion" aria - multiselectable = "true" role = "tablist" >
< div className = "panel" id = "WalletInfo" >
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'WalletInfo' , 0 ) } >
< a className = { this . state . activeTab === 0 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon md-balance-wallet" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . W A L L E T _ I N F O ' ) }
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'WalletInfo' , 0 ) } >
< a className = { this . state . activeTab === 0 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon md-balance-wallet" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . W A L L E T _ I N F O ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } style = { { height : this . state . activeTab === 0 ? this . state . activeTabHeight + 'px' : '10px' } } id = "WalletInfoTab" aria - labelledby = "WalletInfo" role = "tabpanel" >
< div
className = { this . state . activeTab === 0 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 0 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "WalletInfoTab"
aria - labelledby = "WalletInfo"
role = "tabpanel" >
< div className = "panel-body" >
< table className = "table" id = "wallet-info-table" >
< thead >
< tr >
< th width = "10%" > { translate ( 'INDEX.KEY' ) } < / t h >
< th > { translate ( 'INDEX.VALUE' ) } < / t h >
< th width = "10%" > { translate ( 'INDEX.KEY' ) } < / t h >
< th > { translate ( 'INDEX.VALUE' ) } < / t h >
< / t r >
< / t h e a d >
< tbody >
< tr >
< td style = { { fontWeight : 'bold' } } > pubkey < / t d >
< td style = { { fontWeight : 'bold' } } > pubkey < / t d >
< td >
< div id = "winfo_pubkey_value" > { this . props . Main . activeHandle . pubkey } < / d i v >
< div id = "winfo_pubkey_value" > { this . props . Main . activeHandle . pubkey } < / d i v >
< / t d >
< / t r >
< tr >
< td style = { { fontWeight : 'bold' } } > btcpubkey < / t d >
< td style = { { fontWeight : 'bold' } } > btcpubkey < / t d >
< td >
< div id = "winfo_btcpubkey_value" > { this . props . Main . activeHandle . btcpubkey } < / d i v >
< div id = "winfo_btcpubkey_value" > { this . props . Main . activeHandle . btcpubkey } < / d i v >
< / t d >
< / t r >
< tr >
< td style = { { fontWeight : 'bold' } } > rmd160 < / t d >
< td style = { { fontWeight : 'bold' } } > rmd160 < / t d >
< td >
< div id = "winfo_rmd160_value" > { this . props . Main . activeHandle . rmd160 } < / d i v >
< div id = "winfo_rmd160_value" > { this . props . Main . activeHandle . rmd160 } < / d i v >
< / t d >
< / t r >
< tr >
< td style = { { fontWeight : 'bold' } } > NXT < / t d >
< td style = { { fontWeight : 'bold' } } > NXT < / t d >
< td >
< div id = "winfo_NXT_value" > { this . props . Main . activeHandle . NXT } < / d i v >
< div id = "winfo_NXT_value" > { this . props . Main . activeHandle . NXT } < / d i v >
< / t d >
< / t r >
< tr >
< td style = { { fontWeight : 'bold' } } > notary < / t d >
< td style = { { fontWeight : 'bold' } } > notary < / t d >
< td >
< div id = "winfo_notary_value" > { this . props . Main . activeHandle . notary } < / d i v >
< div id = "winfo_notary_value" > { this . props . Main . activeHandle . notary } < / d i v >
< / t d >
< / t r >
< tr >
< td style = { { fontWeight : 'bold' } } > status < / t d >
< td style = { { fontWeight : 'bold' } } > status < / t d >
< td >
< div id = "winfo_status_value" > { this . props . Main . activeHandle . status } < / d i v >
< div id = "winfo_status_value" > { this . props . Main . activeHandle . status } < / d i v >
< / t d >
< / t r >
< / t b o d y >
@ -359,62 +377,89 @@ class Settings extends React.Component {
< / d i v >
< div className = "panel" id = "AddNodeforCoin" >
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'AddNodeforCoin' , 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 > { t r a n s l a t e ( ' I N D E X . A D D _ N O D E ' ) }
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'AddNodeforCoin' , 1 ) } >
< a className = { this . state . activeTab === 1 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon md-plus-square" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . A D D _ N O D E ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } style = { { height : this . state . activeTab === 1 ? this . state . activeTabHeight + 'px' : '10px' } } id = "AddNodeforCoinTab" aria - labelledby = "AddNodeforCoin" role = "tabpanel" >
< div
className = { this . state . activeTab === 1 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 1 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "AddNodeforCoinTab"
aria - labelledby = "AddNodeforCoin"
role = "tabpanel" >
< div className = "panel-body" >
< div className = "row" >
< div className = "col-sm-6" >
< div className = "col-sm-12" >
< p > { translate ( 'INDEX.USE_THIS_SECTION' ) } < / p >
< p > { translate ( 'INDEX.USE_THIS_SECTION' ) } < / p >
< / d i v >
< div className = "col-sm-8 col-xs-12" >
< div className = "form-group" >
< select className = "form-control form-material" id = "settings_select_coin_options" name = "getPeersCoin" onChange = { this . updateInput } >
< option > { translate ( 'INDEX.SELECT_COIN' ) } < / o p t i o n >
< select
className = "form-control form-material"
id = "settings_select_coin_options"
name = "getPeersCoin"
onChange = { this . updateInput } >
< option > { translate ( 'INDEX.SELECT_COIN' ) } < / o p t i o n >
< AddCoinOptionsCrypto / >
< AddCoinOptionsAC / >
< AddCoinOptionsACFiat / >
< / s e l e c t >
< / d i v >
< / d i v >
< 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 = { this . checkNodes } > { translate ( 'INDEX.CHECK_NODES' ) } < / b u t t o n >
< div className = "col-sm-4 col-xs-12" style = { { textAlign : 'center' } } >
< button
type = "button"
className = "btn btn-primary waves-effect waves-light"
id = "settings_getcoinpeers_btn"
onClick = { this . checkNodes } > { translate ( 'INDEX.CHECK_NODES' ) } < / b u t t o n >
< / d i v >
< div className = "col-sm-12" >
< h5 >
SuperNET Peers : < span id = "coin_supernetpeers_h" > < / s p a n >
< / h 5 >
< p id = "coin_supernetpeers" > { this . renderSNPeersList ( ) } < / p >
< p id = "coin_supernetpeers" > { this . renderSNPeersList ( ) } < / p >
< h5 >
Raw Peers : < span id = "coin_rawpeers_h" > < / s p a n >
< / h 5 >
< p id = "coin_rawpeers" > { this . renderPeersList ( ) } < / p >
< p id = "coin_rawpeers" > { this . renderPeersList ( ) } < / p >
< / d i v >
< / d i v >
< div className = "col-sm-6" >
< div className = "col-sm-12" >
< p > { translate ( 'INDEX.USE_THIS_SECTION_PEER' ) } < / p >
< p > { translate ( 'INDEX.USE_THIS_SECTION_PEER' ) } < / p >
< / d i v >
< div className = "col-sm-8 col-xs-12" >
< div className = "form-group" >
< select className = "form-control form-material" id = "settings_select_coin_addpeer_options" name = "addNodeCoin" onChange = { this . updateInput } >
< option > { translate ( 'INDEX.SELECT_COIN' ) } < / o p t i o n >
< select
className = "form-control form-material"
id = "settings_select_coin_addpeer_options"
name = "addNodeCoin"
onChange = { this . updateInput } >
< option > { translate ( 'INDEX.SELECT_COIN' ) } < / o p t i o n >
< AddCoinOptionsCrypto / >
< AddCoinOptionsAC / >
< AddCoinOptionsACFiat / >
< / s e l e c t >
< / d i v >
< div className = "form-group" >
< input type = "text" className = "form-control" id = "settings_add_peer_ip" name = "addPeerIP" placeholder = "Add Peer IP" onChange = { this . updateInput } / >
< input
type = "text"
className = "form-control"
id = "settings_add_peer_ip"
name = "addPeerIP"
placeholder = { translate ( 'SETTINGS.ADD_PEER_IP' ) }
onChange = { this . updateInput } / >
< / d i v >
< / d i v >
< 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 = { this . addNode } > { translate ( 'INDEX.ADD_NODE' ) } < / b u t t o n >
< div className = "col-sm-4 col-xs-12" style = { { textAlign : 'center' } } >
< button
type = "button"
className = "btn btn-primary waves-effect waves-light"
id = "settings_addcoinpeers_btn"
onClick = { this . addNode } > { translate ( 'INDEX.ADD_NODE' ) } < / b u t t o n >
< / d i v >
< / d i v >
< / d i v >
@ -423,66 +468,93 @@ class Settings extends React.Component {
< / d i v >
< div className = "panel" id = "DumpWallet" >
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'DumpWallet' , 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 > { t r a n s l a t e ( ' I N D E X . W A L L E T _ B A C K U P ' ) }
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'DumpWallet' , 2 ) } >
< a className = { this . state . activeTab === 2 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon wb-briefcase" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . W A L L E T _ B A C K U P ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } style = { { height : this . state . activeTab === 2 ? this . state . activeTabHeight + 'px' : '10px' } } id = "DumpWalletTab" aria - labelledby = "DumpWallet" role = "tabpanel" >
< div
className = { this . state . activeTab === 2 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 2 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "DumpWalletTab"
aria - labelledby = "DumpWallet"
role = "tabpanel" >
< div className = "panel-body" > Wallet Backup section to be updated soon . < / d i v >
< / d i v >
< / d i v >
< div className = "panel" id = "FiatCurrencySettings" >
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'FiatCurrencySettings' , 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 > { t r a n s l a t e ( ' I N D E X . F I A T _ C U R R E N C Y ' ) }
< div
className = "panel-heading"
role = "tab"
onClick = { ( ) => this . openTab ( 'FiatCurrencySettings' , 3 ) } >
< a className = { this . state . activeTab === 3 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon fa-money" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . F I A T _ C U R R E N C Y ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 3 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } style = { { height : this . state . activeTab === 3 ? this . state . activeTabHeight + 'px' : '10px' } } id = "FiatCurrencySettingsTab" aria - labelledby = "FiatCurrencySettings" role = "tabpanel" >
< div
className = { this . state . activeTab === 3 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 3 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "FiatCurrencySettingsTab"
aria - labelledby = "FiatCurrencySettings"
role = "tabpanel" >
< div className = "panel-body" > Fiat currency settings section to be updated soon . < / d i v >
< / d i v >
< / d i v >
< div className = "panel" id = "ExportKeys" >
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'ExportKeys' , 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 > { t r a n s l a t e ( ' I N D E X . E X P O R T _ K E Y S ' ) }
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'ExportKeys' , 4 ) } >
< a className = { this . state . activeTab === 4 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon md-key" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . E X P O R T _ K E Y S ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 4 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } style = { { height : this . state . activeTab === 4 ? this . state . activeTabHeight + 'px' : '10px' } } id = "ExportKeysTab" aria - labelledby = "ExportKeys" role = "tabpanel" >
< div
className = { this . state . activeTab === 4 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 4 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "ExportKeysTab"
aria - labelledby = "ExportKeys"
role = "tabpanel" >
< div className = "panel-body" >
< p >
< div > { this . renderLB ( 'INDEX.ONLY_ACTIVE_WIF_KEYS' ) } < /div><br/ >
< div > { this . renderLB ( 'INDEX.ONLY_ACTIVE_WIF_KEYS' ) } < /div><br/ >
< strong >
< i > { translate ( 'INDEX.PLEASE_KEEP_KEYS_SAFE' ) } < / i >
< i > { translate ( 'INDEX.PLEASE_KEEP_KEYS_SAFE' ) } < / i >
< / s t r o n g >
< / p >
< div className = "col-sm-12" > < / d i v >
< form className = "wifkeys-form" method = "post" action = "javascript:" autoComplete = "off" >
< div className = "form-group form-material floating" >
< input type = "password" className = "form-control" name = "wifkeysPassphrase" id = "wifkeys_passphrase" onChange = { this . updateInput } / >
< label className = "floating-label" htmlFor = "wifkeys_passphrase" > { translate ( 'INDEX.PASSPHRASE' ) } < / l a b e l >
< input
type = "password"
className = "form-control"
name = "wifkeysPassphrase"
id = "wifkeys_passphrase"
onChange = { this . updateInput } / >
< label className = "floating-label" htmlFor = "wifkeys_passphrase" > { translate ( 'INDEX.PASSPHRASE' ) } < / l a b e l >
< / d i v >
< 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 = "wifkeys_passphrase_btn" onClick = { this . exportWifKeys } > { translate ( 'INDEX.GET_WIF_KEYS' ) } < / b u t t o n >
< div className = "col-sm-12 col-xs-12" style = { { textAlign : 'center' } } >
< button
type = "button"
className = "btn btn-primary waves-effect waves-light"
id = "wifkeys_passphrase_btn"
onClick = { this . exportWifKeys } > { translate ( 'INDEX.GET_WIF_KEYS' ) } < / b u t t o n >
< / d i v >
< / f o r m >
< div className = "col-sm-12" style = { { paddingTop : '15px' } } >
< div className = "row" id = "wif-priv-keys" data - plugin = "masonry" >
< table className = { this . props . Settings && this . props . Settings . address ? 'table show' : 'table hide' } >
< div className = "col-sm-12" style = { { paddingTop : '15px' } } >
< div className = "row" id = "wif-priv-keys" >
< table className = { this . props . Settings && this . props . Settings . address ? 'table show' : 'table hide' } >
< tr >
< td style = { { width : '5%' } } >
< strong > { this . props . ActiveCoin . coin } < / s t r o n g >
< td style = { { width : '5%' } } >
< strong > { this . props . ActiveCoin . coin } < / s t r o n g >
< / t d >
< td > { this . props . Settings . address } < / t d >
< td > { this . props . Settings . address } < / t d >
< / t r >
< tr >
< td >
< strong > { this . props . ActiveCoin . coin } Wif < / s t r o n g >
< strong > { this . props . ActiveCoin . coin } Wif < / s t r o n g >
< / t d >
< td > { this . props . Settings . wifkey } < / t d >
< td > { this . props . Settings . wifkey } < / t d >
< / t r >
< / t a b l e >
< / d i v >
@ -492,12 +564,17 @@ class Settings extends React.Component {
< / d i v >
< div className = "panel" id = "ImportKeys" >
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'ImportKeys' , 5 ) } >
< a className = { this . state . activeTab === 5 ? 'panel-title' : 'panel-title collapsed' } data - toggle = "collapse" >
< i className = "icon md-key" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . I M P O R T _ K E Y S ' ) }
< div className = "panel-heading" role = "tab" onClick = { ( ) => this . openTab ( 'ImportKeys' , 5 ) } >
< a className = { this . state . activeTab === 5 ? 'panel-title' : 'panel-title collapsed' } >
< i className = "icon md-key" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . I M P O R T _ K E Y S ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 5 ? 'panel-collapse collapse in' : 'panel-collapse collapse' } style = { { height : this . state . activeTab === 5 ? this . state . activeTabHeight + 'px' : '10px' } } id = "ImportKeysTab" aria - labelledby = "ImportKeys" role = "tabpanel" >
< div
className = { this . state . activeTab === 5 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 5 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "ImportKeysTab"
aria - labelledby = "ImportKeys"
role = "tabpanel" >
< div className = "panel-body" >
< p >
< div > { translate ( 'INDEX.IMPORT_KEYS_DESC_P1' ) } < /div><br/ >
@ -510,8 +587,15 @@ class Settings extends React.Component {
< div className = "col-sm-12" > < / d i v >
< form className = "wifkeys-import-form" method = "post" action = "javascript:" autoComplete = "off" >
< div className = "form-group form-material floating" >
< input type = "text" className = "form-control" name = "importWifKey" id = "import_wifkey" onChange = { this . updateInput } / >
< label className = "floating-label" htmlFor = "import_wifkey" > { translate ( 'INDEX.INPUT_PRIV_KEY' ) } < / l a b e l >
< input
type = "text"
className = "form-control"
name = "importWifKey"
id = "import_wifkey"
onChange = { this . updateInput } / >
< label
className = "floating-label"
htmlFor = "import_wifkey" > { translate ( 'INDEX.INPUT_PRIV_KEY' ) } < / l a b e l >
< / d i v >
< div className = "col-sm-12 col-xs-12" style = { { textAlign : 'center' } } >
< button
@ -531,13 +615,18 @@ class Settings extends React.Component {
< i className = "icon fa-bug" aria - hidden = "true" > < / i > { t r a n s l a t e ( ' I N D E X . D E B U G _ L O G ' ) }
< / a >
< / d i v >
< div className = { this . state . activeTab === 6 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 6 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "DebugLogTab" aria - labelledby = "DebugLog" role = "tabpanel" >
< div
className = { this . state . activeTab === 6 ? 'panel-collapse collapse in' : 'panel-collapse collapse' }
style = { { height : this . state . activeTab === 6 ? this . state . activeTabHeight + 'px' : '10px' } }
id = "DebugLogTab" aria - labelledby = "DebugLog" role = "tabpanel" >
< div className = "panel-body" >
< p > { translate ( 'INDEX.DEBUG_LOG_DESC' ) } < / p >
< div className = "col-sm-12" > < / d i v >
< form className = "read-debug-log-import-form" method = "post" action = "javascript:" autoComplete = "off" >
< form
className = "read-debug-log-import-form"
method = "post"
action = "javascript:"
autoComplete = "off" >
< div className = "form-group form-material floating" >
< input
type = "text"
@ -546,14 +635,22 @@ class Settings extends React.Component {
id = "read_debug_log_lines"
value = { this . state . debugLinesCount }
onChange = { this . updateInput } / >
< label className = "floating-label" htmlFor = "read_debug_log_lines" > { translate ( 'INDEX.DEBUG_LOG_LINES' ) } < / l a b e l >
< label
className = "floating-label"
htmlFor = "read_debug_log_lines" > { translate ( 'INDEX.DEBUG_LOG_LINES' ) } < / l a b e l >
< / d i v >
< div className = "form-group form-material floating" >
< select className = "form-control form-material" name = "debugTarget" id = "settings_select_debuglog_options" onChange = { this . updateInput } >
< select
className = "form-control form-material"
name = "debugTarget"
id = "settings_select_debuglog_options"
onChange = { this . updateInput } >
< option value = "iguana" > Iguana < / o p t i o n >
< option value = "komodo" > Komodo < / o p t i o n >
< / s e l e c t >
< label className = "floating-label" htmlFor = "settings_select_debuglog_options" > { translate ( 'INDEX.TARGET' ) } < / l a b e l >
< label
className = "floating-label"
htmlFor = "settings_select_debuglog_options" > { translate ( 'INDEX.TARGET' ) } < / l a b e l >
< / d i v >
< div className = "col-sm-12 col-xs-12" style = { { textAlign : 'center' } } >
< button