diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-06-23 02:54:37 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-06-23 02:54:37 +0800 |
commit | 2409afae952bc5f8eb5ffa2346cd5220a1bcce00 (patch) | |
tree | fed56a63b97d0230e3f360d2236f7b4879beac32 /packages/website/ts | |
parent | 06705f9e88c5b8901e4edea08ffed92c8c6808f6 (diff) | |
parent | b097193486a07ae52bcac591438a007499d96275 (diff) | |
download | dexon-sol-tools-2409afae952bc5f8eb5ffa2346cd5220a1bcce00.tar dexon-sol-tools-2409afae952bc5f8eb5ffa2346cd5220a1bcce00.tar.gz dexon-sol-tools-2409afae952bc5f8eb5ffa2346cd5220a1bcce00.tar.bz2 dexon-sol-tools-2409afae952bc5f8eb5ffa2346cd5220a1bcce00.tar.lz dexon-sol-tools-2409afae952bc5f8eb5ffa2346cd5220a1bcce00.tar.xz dexon-sol-tools-2409afae952bc5f8eb5ffa2346cd5220a1bcce00.tar.zst dexon-sol-tools-2409afae952bc5f8eb5ffa2346cd5220a1bcce00.zip |
Merge https://github.com/0xProject/0x-monorepo into v2-prototype
Diffstat (limited to 'packages/website/ts')
-rw-r--r-- | packages/website/ts/components/generate_order/asset_picker.tsx | 22 | ||||
-rw-r--r-- | packages/website/ts/redux/reducer.ts | 8 |
2 files changed, 16 insertions, 14 deletions
diff --git a/packages/website/ts/components/generate_order/asset_picker.tsx b/packages/website/ts/components/generate_order/asset_picker.tsx index b43ac1f2e..87618f1e0 100644 --- a/packages/website/ts/components/generate_order/asset_picker.tsx +++ b/packages/website/ts/components/generate_order/asset_picker.tsx @@ -232,12 +232,14 @@ export class AssetPicker extends React.Component<AssetPickerProps, AssetPickerSt this.props.onTokenChosen(newToken.address); } private async _onTrackConfirmationRespondedAsync(didUserAcceptTracking: boolean): Promise<void> { + const resetState: AssetPickerState = { + ...this.state, + isAddingTokenToTracked: false, + assetView: AssetViews.ASSET_PICKER, + chosenTrackTokenAddress: undefined, + }; if (!didUserAcceptTracking) { - this.setState({ - isAddingTokenToTracked: false, - assetView: AssetViews.ASSET_PICKER, - chosenTrackTokenAddress: undefined, - }); + this.setState(resetState); this._onCloseDialog(); return; } @@ -246,6 +248,10 @@ export class AssetPicker extends React.Component<AssetPickerProps, AssetPickerSt }); const tokenAddress = this.state.chosenTrackTokenAddress; const token = this.props.tokenByAddress[tokenAddress]; + if (_.isUndefined(tokenAddress)) { + this.setState(resetState); + return; + } const newTokenEntry = { ...token, }; @@ -254,11 +260,7 @@ export class AssetPicker extends React.Component<AssetPickerProps, AssetPickerSt trackedTokenStorage.addTrackedTokenToUser(this.props.userAddress, this.props.networkId, newTokenEntry); this.props.dispatcher.updateTokenByAddress([newTokenEntry]); - this.setState({ - isAddingTokenToTracked: false, - assetView: AssetViews.ASSET_PICKER, - chosenTrackTokenAddress: undefined, - }); + this.setState(resetState); this.props.onTokenChosen(tokenAddress); } } diff --git a/packages/website/ts/redux/reducer.ts b/packages/website/ts/redux/reducer.ts index 9d3d8f7d9..ed6a4868e 100644 --- a/packages/website/ts/redux/reducer.ts +++ b/packages/website/ts/redux/reducer.ts @@ -156,7 +156,7 @@ export function reducer(state: State = INITIAL_STATE, action: Action): State { } case ActionTypes.AddTokenToTokenByAddress: { - const newTokenByAddress = state.tokenByAddress; + const newTokenByAddress = { ...state.tokenByAddress }; newTokenByAddress[action.data.address] = action.data; return { ...state, @@ -165,7 +165,7 @@ export function reducer(state: State = INITIAL_STATE, action: Action): State { } case ActionTypes.RemoveTokenFromTokenByAddress: { - const newTokenByAddress = state.tokenByAddress; + const newTokenByAddress = { ...state.tokenByAddress }; delete newTokenByAddress[action.data.address]; return { ...state, @@ -174,7 +174,7 @@ export function reducer(state: State = INITIAL_STATE, action: Action): State { } case ActionTypes.UpdateTokenByAddress: { - const tokenByAddress = state.tokenByAddress; + const tokenByAddress = { ...state.tokenByAddress }; const tokens = action.data; _.each(tokens, token => { const updatedToken = { @@ -253,7 +253,7 @@ export function reducer(state: State = INITIAL_STATE, action: Action): State { } case ActionTypes.UpdateChosenAssetTokenAddress: { - const newAssetToken = state.sideToAssetToken[action.data.side]; + const newAssetToken = { ...state.sideToAssetToken[action.data.side] }; newAssetToken.address = action.data.address; const newSideToAssetToken = { ...state.sideToAssetToken, |