From e971dcfadb954f4fa934bb9b8a28c268aae39cf7 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Fri, 25 May 2018 16:14:02 +0200 Subject: [PATCH 1/4] Use components where necessary --- src/Accounts/Accounts.js | 8 ++++---- .../CreateAccountStep1/CreateAccountStep1.js | 4 ++-- .../CreateAccountStep2/CreateAccountStep2.js | 4 ++-- .../CreateAccountStep3/CreateAccountStep3.js | 4 ++-- .../CreateAccountStep4/CreateAccountStep4.js | 4 ++-- .../CreateAccountStep5/CreateAccountStep5.js | 4 ++-- src/App/ProtectedRoute/ProtectedRoute.js | 4 ++-- src/Loading/Loading.js | 4 ++-- src/Send/Signer/Signer.js | 9 +++++++-- src/Tokens/NewToken/NewToken.js | 8 ++++---- src/Tokens/NewToken/NewTokenItem/NewTokenItem.js | 4 ++-- src/Tokens/TokensList/TokensList.js | 4 ++-- 12 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/Accounts/Accounts.js b/src/Accounts/Accounts.js index 9e215bf1..05e9aa88 100644 --- a/src/Accounts/Accounts.js +++ b/src/Accounts/Accounts.js @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { accountsInfo$ } from '@parity/light.js'; import Blockies from 'react-blockies'; import { inject, observer } from 'mobx-react'; @@ -12,12 +12,12 @@ import { Link, Route, Switch } from 'react-router-dom'; import CreateAccount from './CreateAccount/CreateAccount'; import light from '../hoc'; -@inject('parityStore') -@observer @light({ accountsInfo: accountsInfo$ }) -class Accounts extends PureComponent { +@inject('parityStore') +@observer +class Accounts extends Component { handleClick = ({ currentTarget: { dataset: { address } } }) => { const { parityStore: { api } } = this.props; // Set default account to the clicked one, and go to Tokens on complete diff --git a/src/Accounts/CreateAccount/CreateAccountStep1/CreateAccountStep1.js b/src/Accounts/CreateAccount/CreateAccountStep1/CreateAccountStep1.js index a1fb3260..88213fbe 100644 --- a/src/Accounts/CreateAccount/CreateAccountStep1/CreateAccountStep1.js +++ b/src/Accounts/CreateAccount/CreateAccountStep1/CreateAccountStep1.js @@ -3,14 +3,14 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import Blockie from 'react-blockies'; import { inject, observer } from 'mobx-react'; import { Link } from 'react-router-dom'; @inject('createAccountStore') @observer -class CreateAccountStep1 extends PureComponent { +class CreateAccountStep1 extends Component { componentDidMount () { this.props.createAccountStore.generateNewAccount(); } diff --git a/src/Accounts/CreateAccount/CreateAccountStep2/CreateAccountStep2.js b/src/Accounts/CreateAccount/CreateAccountStep2/CreateAccountStep2.js index c0e2aeb6..d788f2c8 100644 --- a/src/Accounts/CreateAccount/CreateAccountStep2/CreateAccountStep2.js +++ b/src/Accounts/CreateAccount/CreateAccountStep2/CreateAccountStep2.js @@ -3,13 +3,13 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; import { Link } from 'react-router-dom'; @inject('createAccountStore') @observer -class CreateAccountStep2 extends PureComponent { +class CreateAccountStep2 extends Component { render () { const { createAccountStore: { phrase } } = this.props; diff --git a/src/Accounts/CreateAccount/CreateAccountStep3/CreateAccountStep3.js b/src/Accounts/CreateAccount/CreateAccountStep3/CreateAccountStep3.js index 320a3711..d337ed5a 100644 --- a/src/Accounts/CreateAccount/CreateAccountStep3/CreateAccountStep3.js +++ b/src/Accounts/CreateAccount/CreateAccountStep3/CreateAccountStep3.js @@ -3,13 +3,13 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; import { Link } from 'react-router-dom'; @inject('createAccountStore') @observer -class CreateAccountStep3 extends PureComponent { +class CreateAccountStep3 extends Component { state = { value: '' }; diff --git a/src/Accounts/CreateAccount/CreateAccountStep4/CreateAccountStep4.js b/src/Accounts/CreateAccount/CreateAccountStep4/CreateAccountStep4.js index d47d3eb5..6e4a0003 100644 --- a/src/Accounts/CreateAccount/CreateAccountStep4/CreateAccountStep4.js +++ b/src/Accounts/CreateAccount/CreateAccountStep4/CreateAccountStep4.js @@ -3,12 +3,12 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; @inject('createAccountStore') @observer -class CreateAccountStep3 extends PureComponent { +class CreateAccountStep3 extends Component { state = { confirm: '', hint: '', diff --git a/src/Accounts/CreateAccount/CreateAccountStep5/CreateAccountStep5.js b/src/Accounts/CreateAccount/CreateAccountStep5/CreateAccountStep5.js index 3eb07548..2a688ac7 100644 --- a/src/Accounts/CreateAccount/CreateAccountStep5/CreateAccountStep5.js +++ b/src/Accounts/CreateAccount/CreateAccountStep5/CreateAccountStep5.js @@ -3,12 +3,12 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; @inject('createAccountStore') @observer -class CreateAccountStep5 extends PureComponent { +class CreateAccountStep5 extends Component { handleSubmit = () => { const { createAccountStore: { saveAccountToParity }, history } = this.props; saveAccountToParity().then(() => history.push('/accounts')); diff --git a/src/App/ProtectedRoute/ProtectedRoute.js b/src/App/ProtectedRoute/ProtectedRoute.js index 83584655..3079dc9e 100644 --- a/src/App/ProtectedRoute/ProtectedRoute.js +++ b/src/App/ProtectedRoute/ProtectedRoute.js @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; import { Redirect, Route, withRouter } from 'react-router-dom'; @@ -15,7 +15,7 @@ import { Redirect, Route, withRouter } from 'react-router-dom'; @withRouter @inject('parityStore') @observer -class ProtectedRoute extends PureComponent { +class ProtectedRoute extends Component { render () { const { component, parityStore, ...rest } = this.props; diff --git a/src/Loading/Loading.js b/src/Loading/Loading.js index fafa064b..fb18067e 100644 --- a/src/Loading/Loading.js +++ b/src/Loading/Loading.js @@ -3,13 +3,13 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; import { Redirect } from 'react-router-dom'; @inject('parityStore') @observer -class Loading extends PureComponent { +class Loading extends Component { render () { const { parityStore: { downloadProgress, isApiConnected } } = this.props; diff --git a/src/Send/Signer/Signer.js b/src/Send/Signer/Signer.js index e20e6b5d..2dad86d9 100644 --- a/src/Send/Signer/Signer.js +++ b/src/Send/Signer/Signer.js @@ -1,11 +1,16 @@ -import React, { PureComponent } from 'react'; +// Copyright 2015-2018 Parity Technologies (UK) Ltd. +// This file is part of Parity. +// +// SPDX-License-Identifier: MIT + +import React, { Component } from 'react'; import { fromWei } from '@parity/api/lib/util/wei'; import { inject, observer } from 'mobx-react'; import { post$ } from '@parity/light.js'; @inject('signerStore') @observer -class Signer extends PureComponent { +class Signer extends Component { state = { password: '', status: null diff --git a/src/Tokens/NewToken/NewToken.js b/src/Tokens/NewToken/NewToken.js index 785c47d2..6b75b580 100644 --- a/src/Tokens/NewToken/NewToken.js +++ b/src/Tokens/NewToken/NewToken.js @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { chainName$ } from '@parity/light.js'; import debounce from 'lodash/debounce'; import { inject, observer } from 'mobx-react'; @@ -11,12 +11,12 @@ import { inject, observer } from 'mobx-react'; import light from '../../hoc'; import NewTokenItem from './NewTokenItem'; -@inject('tokensStore') -@observer @light({ chainName: chainName$ }) -class NewToken extends PureComponent { +@inject('tokensStore') +@observer +class NewToken extends Component { state = { db: null, dbMap: null, diff --git a/src/Tokens/NewToken/NewTokenItem/NewTokenItem.js b/src/Tokens/NewToken/NewTokenItem/NewTokenItem.js index 42d7c304..049622ac 100644 --- a/src/Tokens/NewToken/NewTokenItem/NewTokenItem.js +++ b/src/Tokens/NewToken/NewTokenItem/NewTokenItem.js @@ -3,14 +3,14 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; import { withRouter } from 'react-router-dom'; @inject('tokensStore') @observer @withRouter -class NewTokenItem extends PureComponent { +class NewTokenItem extends Component { handleAddToken = () => { const { history, token, tokensStore } = this.props; tokensStore.addToken(token.address, token); diff --git a/src/Tokens/TokensList/TokensList.js b/src/Tokens/TokensList/TokensList.js index 35c98ad9..e72a49c9 100644 --- a/src/Tokens/TokensList/TokensList.js +++ b/src/Tokens/TokensList/TokensList.js @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import { inject, observer } from 'mobx-react'; import { Link } from 'react-router-dom'; @@ -12,7 +12,7 @@ import TokenBalance from './TokenBalance'; @inject('tokensStore') @observer -class Tokens extends PureComponent { +class Tokens extends Component { render () { const { tokensStore: { tokensArray } } = this.props; -- GitLab From 5451ad0c833688da5791aca685806b71e1dc315f Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Fri, 25 May 2018 16:44:40 +0200 Subject: [PATCH 2/4] Tokens per account per chain --- src/Accounts/Accounts.js | 4 ++-- src/Tokens/Tokens.js | 13 +++++++++++-- src/stores/tokensStore.js | 38 ++++++++++++-------------------------- 3 files changed, 25 insertions(+), 30 deletions(-) diff --git a/src/Accounts/Accounts.js b/src/Accounts/Accounts.js index 05e9aa88..1d8e50d1 100644 --- a/src/Accounts/Accounts.js +++ b/src/Accounts/Accounts.js @@ -19,11 +19,11 @@ import light from '../hoc'; @observer class Accounts extends Component { handleClick = ({ currentTarget: { dataset: { address } } }) => { - const { parityStore: { api } } = this.props; + const { history, parityStore: { api } } = this.props; // Set default account to the clicked one, and go to Tokens on complete this.subscription = api.parity .setNewDappsDefaultAddress(address) - .then(() => this.props.history.push('/tokens')); + .then(() => history.push('/tokens')); }; render () { diff --git a/src/Tokens/Tokens.js b/src/Tokens/Tokens.js index 0aa2f559..6a49ab61 100644 --- a/src/Tokens/Tokens.js +++ b/src/Tokens/Tokens.js @@ -4,14 +4,22 @@ // SPDX-License-Identifier: MIT import React, { PureComponent } from 'react'; +import { accountsInfo$, defaultAccount$ } from '@parity/light.js'; import { Link, Route, Switch } from 'react-router-dom'; import Health from '../Health'; +import light from '../hoc'; import NewToken from './NewToken'; import TokensList from './TokensList'; +@light({ + accountsInfo: accountsInfo$, + defaultAccount: defaultAccount$ +}) class Tokens extends PureComponent { render () { + const { accountsInfo, defaultAccount } = this.props; + return (