12 changed files with 186 additions and 214 deletions
@ -1,16 +1,72 @@ |
|||
import React from 'react'; |
|||
import React from "react"; |
|||
|
|||
class About extends React.Component { |
|||
render() { |
|||
return ( |
|||
<div className="page margin-left-0"> |
|||
<div className="page-content"> |
|||
<h2>About Iguana</h2> |
|||
<p>Page content goes here</p> |
|||
<h2>About Agama</h2> |
|||
<p>Agama Wallet is a desktop app that you can use to manage multiple cryptocurrency wallets. When you set up a |
|||
wallet, you can configure it to operate in one of the following modes: |
|||
|
|||
<ul> |
|||
<li> |
|||
<span className="font-weight-600">Basilisk Mode</span>: Doesn't download the blockchain. Slightly slower |
|||
transaction performance. |
|||
</li> |
|||
<li> |
|||
<span className="font-weight-600">Full Mode</span>: Downloads the full blockchain, which can take a |
|||
while. Good transaction performance. |
|||
</li> |
|||
<li> |
|||
<span className="font-weight-600">Native Mode</span>: Only available for a few currencies. Like 'Full |
|||
Mode' but provides advanced functionality. |
|||
</li> |
|||
</ul> |
|||
Agama includes the following capabilities: |
|||
|
|||
<ul> |
|||
<li> |
|||
<span className="font-weight-600">InstantDEX</span>: Easily exchange cryptocurrencies via a |
|||
shapeshift-like service. |
|||
<a href="https://supernet.org/en/technology/whitepapers/easydex-a-practical-native-dex" target="_blank"> |
|||
(EasyDEX – A Practical Native DEX) |
|||
</a> |
|||
</li> |
|||
<li> |
|||
<span className="font-weight-600">Atomic Exporer</span>: A universal local explorer ensures you don't |
|||
have query information from a centralized |
|||
server. |
|||
</li> |
|||
</ul> |
|||
|
|||
<span className="font-weight-600"> |
|||
Note: Agama Wallet is still in development. It is safe to use, |
|||
but you should make proper backups. We do not recommend using it as the primarily wallet for your cryptocurrencies. |
|||
</span> |
|||
|
|||
<br/> |
|||
|
|||
<span className="font-weight-600">Testers</span>: |
|||
You can help us test Agama. Just <a target="_blank" href="https://supernet.org/en/products/agama-wallet">download and install the latest release</a>. |
|||
Then, report any bugs you encounter to our developers on the #testing-agama Slack channel. |
|||
Your help is greatly appreciated! |
|||
|
|||
Agama also supports the following desktop apps: |
|||
<ul> |
|||
<li> |
|||
<span className="font-weight-600">Jumblr</span>: A decentralized Bitcoin blockchain tumbler for privacy |
|||
and lower fees. |
|||
</li> |
|||
<li> |
|||
<span className="font-weight-600">NativeDEX</span> |
|||
</li> |
|||
</ul> |
|||
</p> |
|||
</div> |
|||
</div> |
|||
); |
|||
} |
|||
} |
|||
|
|||
export default About; |
|||
export default About; |
@ -1,44 +0,0 @@ |
|||
import React from 'react'; |
|||
import { toggleDashboardTxInfoModal } from '../../../actions/actionCreators'; |
|||
import Store from '../../../store'; |
|||
|
|||
class WalletsNativeTxInfo extends React.Component { |
|||
constructor(props) { |
|||
super(props); |
|||
this.state = { |
|||
activeTab: 0, |
|||
}; |
|||
this.toggleTxInfoModal = this.toggleTxInfoModal.bind(this); |
|||
} |
|||
|
|||
toggleTxInfoModal() { |
|||
Store.dispatch(toggleDashboardTxInfoModal(false)); |
|||
} |
|||
|
|||
openTab(tab) { |
|||
this.setState(Object.assign({}, this.state, { |
|||
activeTab: tab, |
|||
})); |
|||
} |
|||
|
|||
handleKeydown(e) { |
|||
if (e.key === 'Escape') { |
|||
this.toggleTxInfoModal(); |
|||
} |
|||
} |
|||
|
|||
render() { |
|||
if (this.props && |
|||
this.props.ActiveCoin.showTransactionInfo && |
|||
this.props.ActiveCoin.nativeActiveSection === 'default' && |
|||
this.props.ActiveCoin.mode === 'native') { |
|||
const txInfo = this.props.ActiveCoin.txhistory[this.props.ActiveCoin.showTransactionInfoTxIndex]; |
|||
|
|||
return WalletsNativeTxInfoRender.call(this, txInfo); |
|||
} else { |
|||
return null; |
|||
} |
|||
} |
|||
} |
|||
|
|||
export default WalletsNativeTxInfo; |
@ -1,156 +0,0 @@ |
|||
import React from 'react'; |
|||
import { translate } from '../../../translate/translate'; |
|||
import { secondsToString } from '../../../util/time'; |
|||
|
|||
const WalletsNativeTxInfoRender = function(txInfo) { |
|||
return ( |
|||
<div onKeyDown={ (event) => this.handleKeydown(event) }> |
|||
<div |
|||
className="modal show" |
|||
id="kmd_txid_info_mdl"> |
|||
<div className="modal-dialog modal-center modal-lg"> |
|||
<div className="modal-content"> |
|||
<div className="modal-body modal-body-container"> |
|||
<div className="panel nav-tabs-horizontal"> |
|||
<ul className="nav nav-tabs nav-tabs-line"> |
|||
<li className={ this.state.activeTab === 0 ? 'active' : '' }> |
|||
<a onClick={ () => this.openTab(0) }> |
|||
<i className="icon md-balance-wallet"></i>TxID Info |
|||
</a> |
|||
</li> |
|||
<li className={ this.state.activeTab === 1 ? 'active' : '' }> |
|||
<a onClick={ () => this.openTab(1) }> |
|||
<i className="icon md-plus-square"></i>Vjointsplits, Details |
|||
</a> |
|||
</li> |
|||
<li className={ this.state.activeTab === 2 ? 'active' : '' }> |
|||
<a onClick={ () => this.openTab(2) }> |
|||
<i className="icon wb-briefcase"></i>Hex |
|||
</a> |
|||
</li> |
|||
<li className={ this.state.activeTab === 3 ? 'active' : '' }> |
|||
<a onClick={ () => this.openTab(3) }> |
|||
<i className="icon wb-file"></i>Raw info |
|||
</a> |
|||
</li> |
|||
</ul> |
|||
<div className="panel-body"> |
|||
<div className="tab-content"> |
|||
<div className={ this.state.activeTab === 0 ? 'tab-pane active' : 'tab-pane' }> |
|||
<table className="table table-striped"> |
|||
<tbody> |
|||
<tr> |
|||
<td>amount</td> |
|||
<td> |
|||
{ txInfo.amount } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>fee</td> |
|||
<td> |
|||
{ txInfo.fee } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>confirmations</td> |
|||
<td> |
|||
{ txInfo.confirmations } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>blockhash</td> |
|||
<td> |
|||
{ txInfo.blockhash } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>blockindex</td> |
|||
<td> |
|||
{ txInfo.blockindex } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>blocktime</td> |
|||
<td> |
|||
{ secondsToString(txInfo.blocktime) } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>txid</td> |
|||
<td> |
|||
{ txInfo.txid } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>walletconflicts</td> |
|||
<td> |
|||
{ txInfo.walletconflicts.length } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>time</td> |
|||
<td> |
|||
{ secondsToString(txInfo.time) } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>timereceived</td> |
|||
<td> |
|||
{ secondsToString(txInfo.timereceived) } |
|||
</td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<div className={ this.state.activeTab === 1 ? 'tab-pane active' : 'tab-pane' }> |
|||
<table className="table table-striped"> |
|||
<tbody> |
|||
<tr> |
|||
<td>vjoinsplit</td> |
|||
<td> |
|||
{ txInfo.vjoinsplit } |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td>details</td> |
|||
<td> |
|||
{ txInfo.details } |
|||
</td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<div className={ this.state.activeTab === 2 ? 'tab-pane active' : 'tab-pane' }> |
|||
<textarea |
|||
className="full-width height-170" |
|||
rows="10" |
|||
cols="80" |
|||
defaultValue={ txInfo.hex } disabled></textarea> |
|||
</div> |
|||
<div className={ this.state.activeTab === 3 ? 'tab-pane active' : 'tab-pane' }> |
|||
<textarea |
|||
className="full-width height-400" |
|||
rows="40" |
|||
cols="80" |
|||
defaultValue={ JSON.stringify(txInfo, null, '\t') } |
|||
disabled></textarea> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div className="modal-footer"> |
|||
<button |
|||
type="button" |
|||
className="btn btn-default" |
|||
onClick={ this.toggleTxInfoModal }>{ translate('INDEX.CLOSE') }</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div className="modal-backdrop show in"></div> |
|||
</div> |
|||
); |
|||
}; |
|||
|
|||
export default WalletsNativeTxInfoRender; |
Loading…
Reference in new issue