X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=cmd%2Fweb%2Fjs%2Faccount.jsx;h=c80be33ecfa605878648d1c9b15983c643121a80;hb=c6aa553f48d1014f651441bbd9e023508d0a819c;hp=03ca117b756db7a222ddf21b5d1e76d7ecc0ff13;hpb=a7873be28f3bcda36dd9fc54df238738c4c2b998;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FFront.git diff --git a/cmd/web/js/account.jsx b/cmd/web/js/account.jsx index 03ca117..c80be33 100644 --- a/cmd/web/js/account.jsx +++ b/cmd/web/js/account.jsx @@ -4,17 +4,20 @@ import React from 'react'; class PoloniexConfiguration extends React.Component { constructor(props) { super(props); - this.state = {'apiKey': '', 'apiSecret': '', 'apiRequested': false, 'status': 'loading'}; + this.state = {'apiKey': '', 'apiSecret': '', 'apiRequested': false, 'status': 'loading', 'editMode': false}; } checkCredentials = () => { Api.Call('MARKET_TEST_CREDENTIALS', {'name': 'poloniex'}, function(err, status, data) { + this.setState({'apiRequested': true}); if (err) { console.error(err, data); if (err.code === 'invalid_market_credentials') { this.setState({'status': 'invalidCredentials'}); } else if (err.code === 'ip_restricted_api_key') { this.setState({'status': 'ipRestricted'}); + } else if (err.code === 'market_credentials_not_configured') { + this.setState({'status': 'emptyCredentials'}); } return; } @@ -28,7 +31,7 @@ class PoloniexConfiguration extends React.Component { } handleCredentialsSubmit = () => { - this.setState({'status': 'loading'}); + this.setState({'status': 'loading', 'editMode': false}); Api.Call('UPDATE_MARKET', {'key': this.state.apiKey, 'secret': this.state.apiSecret, 'name': 'poloniex'}, function(err, status, data) { if (err) { console.error(err, data); @@ -40,14 +43,17 @@ class PoloniexConfiguration extends React.Component { return; } - this.setState({'status': 'loading'}); this.checkCredentials(); }.bind(this)); } componentDidMount = () => { - Api.Call('MARKET', {'name': 'poloniex'}, function(err, status, data) { - this.setState({'apiRequested': true}); + this.checkCredentials(); + } + + onEditClick = () => { + Api.Call('MARKET', {'name': 'poloniex'}, function(err, status, data) { + this.setState({'apiRequested': true, 'editMode': true}); if (err) { console.error(err, data); return; @@ -56,8 +62,6 @@ class PoloniexConfiguration extends React.Component { var newStatus = this.state.status; if (!data.key || !data.secret) { newStatus = 'emptyCredentials'; - } else { - this.checkCredentials(); } this.setState({'apiKey': data.key, 'apiSecret': data.secret, 'status': newStatus}); @@ -97,21 +101,17 @@ class PoloniexConfiguration extends React.Component { apiSecret={this.state.apiSecret} apiKey={this.state.apiKey} status={this.state.status} - statusMessage={displayText}/> + statusMessage={displayText} + editMode={this.state.editMode} + onEditClick={this.onEditClick}/> ); } } class PoloniexCredentialsForm extends React.Component { - constructor(props) { - super(props); - this.state = {'editMode': false}; - } - handleSubmit = (e) => { this.props.onCredentialsSubmit(); - this.setState({'editMode': false}); e.preventDefault(); } @@ -123,15 +123,11 @@ class PoloniexCredentialsForm extends React.Component { this.props.onCredentialsChange(this.props.apiKey, event.target.value); } - onEditClick = () => { - this.setState({'editMode': true}); - } - render = () => { - var submitType = this.state.editMode === true ? 'submit' : 'hidden'; - var buttonDisplay = this.state.editMode === true ? 'none' : 'inline'; - var secretDisplayed = this.state.editMode === true ? this.props.apiSecret : 'XXXXXXX'; - var keyDisplayed = this.state.editMode === true ? this.props.apiKey : 'XXXXXXX'; + var submitType = this.props.editMode === true ? 'submit' : 'hidden'; + var buttonDisplay = this.props.editMode === true ? 'none' : 'inline'; + var secretDisplayed = this.props.editMode === true ? this.props.apiSecret : 'XXXXXXX'; + var keyDisplayed = this.props.editMode === true ? this.props.apiKey : 'XXXXXXX'; var iconName = 'icon-cancel-circled'; switch (this.props.status) { @@ -157,13 +153,13 @@ class PoloniexCredentialsForm extends React.Component {
- +