diff options
| author | fragosti <francesco.agosti93@gmail.com> | 2018-11-14 09:12:51 +0800 | 
|---|---|---|
| committer | fragosti <francesco.agosti93@gmail.com> | 2018-11-14 09:12:51 +0800 | 
| commit | 2f6b1273aaf621beebcbc70af4bb6c5f4a8217a3 (patch) | |
| tree | 05a0d01029815d36370f8548d365289f555e8be4 | |
| parent | da9de70bbcecc16fa3a7f6991623f5027628f2b3 (diff) | |
| parent | b174a891bc3273a13dc19c1cda60a0f5310892c7 (diff) | |
| download | dexon-sol-tools-2f6b1273aaf621beebcbc70af4bb6c5f4a8217a3.tar.gz dexon-sol-tools-2f6b1273aaf621beebcbc70af4bb6c5f4a8217a3.tar.zst dexon-sol-tools-2f6b1273aaf621beebcbc70af4bb6c5f4a8217a3.zip  | |
Merge branch 'feature/instant/metamask-connect-flow' of https://github.com/0xProject/0x-monorepo into feature/instant/metamask-connect-flow
5 files changed, 44 insertions, 41 deletions
diff --git a/packages/instant/src/components/zero_ex_instant.tsx b/packages/instant/src/components/zero_ex_instant.tsx index f6ee28dba..2267b4dbf 100644 --- a/packages/instant/src/components/zero_ex_instant.tsx +++ b/packages/instant/src/components/zero_ex_instant.tsx @@ -1,7 +1,8 @@  import * as React from 'react'; +import { ZeroExInstantContainer } from '../components/zero_ex_instant_container'; +  import { INJECTED_DIV_CLASS } from '../constants'; -import { ConnectedZeroExInstantContainer } from '../containers/connected_zero_ex_instant_container';  import { ZeroExInstantProvider, ZeroExInstantProviderProps } from './zero_ex_instant_provider'; @@ -11,7 +12,7 @@ export const ZeroExInstant: React.StatelessComponent<ZeroExInstantProps> = props      return (          <div className={INJECTED_DIV_CLASS}>              <ZeroExInstantProvider {...props}> -                <ConnectedZeroExInstantContainer /> +                <ZeroExInstantContainer />              </ZeroExInstantProvider>          </div>      ); diff --git a/packages/instant/src/components/zero_ex_instant_container.tsx b/packages/instant/src/components/zero_ex_instant_container.tsx index 60f80e8d1..c0a197590 100644 --- a/packages/instant/src/components/zero_ex_instant_container.tsx +++ b/packages/instant/src/components/zero_ex_instant_container.tsx @@ -1,11 +1,10 @@  import * as React from 'react';  import { AvailableERC20TokenSelector } from '../containers/available_erc20_token_selector'; -import { ConnectedAccountPaymentMethod } from '../containers/connected_account_payment_method'; +import { ConnectedBuyOrderProgressOrPaymentMethod } from '../containers/connected_buy_order_progress_or_payment_method';  import { CurrentStandardSlidingPanel } from '../containers/current_standard_sliding_panel';  import { LatestBuyQuoteOrderDetails } from '../containers/latest_buy_quote_order_details';  import { LatestError } from '../containers/latest_error'; -import { SelectedAssetBuyOrderProgress } from '../containers/selected_asset_buy_order_progress';  import { SelectedAssetBuyOrderStateButtons } from '../containers/selected_asset_buy_order_state_buttons';  import { SelectedAssetInstantHeading } from '../containers/selected_asset_instant_heading';  import { ColorOption } from '../style/theme'; @@ -24,7 +23,7 @@ export interface ZeroExInstantContainerState {      tokenSelectionPanelAnimationState: SlideAnimationState;  } -export class ZeroExInstantContainer extends React.Component<ZeroExInstantContainerProps, ZeroExInstantContainerState> { +export class ZeroExInstantContainer extends React.Component<{}, ZeroExInstantContainerState> {      public state = {          tokenSelectionPanelAnimationState: 'none' as SlideAnimationState,      }; @@ -51,7 +50,7 @@ export class ZeroExInstantContainer extends React.Component<ZeroExInstantContain                      >                          <Flex direction="column" justify="flex-start" height="100%">                              <SelectedAssetInstantHeading onSelectAssetClick={this._handleSymbolClick} /> -                            {this._renderPaymentMethodOrBuyOrderProgress()} +                            <ConnectedBuyOrderProgressOrPaymentMethod />                              <LatestBuyQuoteOrderDetails />                              <Container padding="20px" width="100%">                                  <SelectedAssetBuyOrderStateButtons /> @@ -79,16 +78,4 @@ export class ZeroExInstantContainer extends React.Component<ZeroExInstantContain              tokenSelectionPanelAnimationState: 'slidOut',          });      }; -    private readonly _renderPaymentMethodOrBuyOrderProgress = (): React.ReactNode => { -        const { orderProcessState } = this.props; -        if ( -            orderProcessState === OrderProcessState.Processing || -            orderProcessState === OrderProcessState.Success || -            orderProcessState === OrderProcessState.Failure -        ) { -            return <SelectedAssetBuyOrderProgress />; -        } else { -            return <ConnectedAccountPaymentMethod />; -        } -    };  } diff --git a/packages/instant/src/components/zero_ex_instant_overlay.tsx b/packages/instant/src/components/zero_ex_instant_overlay.tsx index a7e1bd65a..2856ea3e3 100644 --- a/packages/instant/src/components/zero_ex_instant_overlay.tsx +++ b/packages/instant/src/components/zero_ex_instant_overlay.tsx @@ -1,6 +1,6 @@  import * as React from 'react'; -import { ConnectedZeroExInstantContainer } from '../containers/connected_zero_ex_instant_container'; +import { ZeroExInstantContainer } from '../components/zero_ex_instant_container';  import { ColorOption } from '../style/theme';  import { Container } from './ui/container'; @@ -31,7 +31,7 @@ export const ZeroExInstantOverlay: React.StatelessComponent<ZeroExInstantOverlay                          />                      </Container>                      <Container width={{ default: 'auto', sm: '100%' }} height={{ default: 'auto', sm: '100%' }}> -                        <ConnectedZeroExInstantContainer /> +                        <ZeroExInstantContainer />                      </Container>                  </Flex>              </Overlay> diff --git a/packages/instant/src/containers/connected_buy_order_progress_or_payment_method.tsx b/packages/instant/src/containers/connected_buy_order_progress_or_payment_method.tsx new file mode 100644 index 000000000..05071c8c3 --- /dev/null +++ b/packages/instant/src/containers/connected_buy_order_progress_or_payment_method.tsx @@ -0,0 +1,36 @@ +import * as React from 'react'; +import { connect } from 'react-redux'; + +import { State } from '../redux/reducer'; +import { OrderProcessState } from '../types'; + +import { ConnectedAccountPaymentMethod } from './connected_account_payment_method'; +import { SelectedAssetBuyOrderProgress } from './selected_asset_buy_order_progress'; + +interface BuyOrderProgressOrPaymentMethodProps { +    orderProcessState: OrderProcessState; +} +export const BuyOrderProgressOrPaymentMethod = (props: BuyOrderProgressOrPaymentMethodProps) => { +    const { orderProcessState } = props; +    if ( +        orderProcessState === OrderProcessState.Processing || +        orderProcessState === OrderProcessState.Success || +        orderProcessState === OrderProcessState.Failure +    ) { +        return <SelectedAssetBuyOrderProgress />; +    } +    if (orderProcessState === OrderProcessState.None) { +        return <ConnectedAccountPaymentMethod />; +    } +    return null; +}; + +interface ConnectedState extends BuyOrderProgressOrPaymentMethodProps {} + +export interface ConnectedBuyOrderProgressOrPaymentMethodProps {} +const mapStateToProps = (state: State, _ownProps: ConnectedBuyOrderProgressOrPaymentMethodProps): ConnectedState => ({ +    orderProcessState: state.buyOrderState.processState, +}); +export const ConnectedBuyOrderProgressOrPaymentMethod: React.ComponentClass< +    ConnectedBuyOrderProgressOrPaymentMethodProps +> = connect(mapStateToProps)(BuyOrderProgressOrPaymentMethod); diff --git a/packages/instant/src/containers/connected_zero_ex_instant_container.ts b/packages/instant/src/containers/connected_zero_ex_instant_container.ts deleted file mode 100644 index 9606d18c2..000000000 --- a/packages/instant/src/containers/connected_zero_ex_instant_container.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from 'react'; -import { connect } from 'react-redux'; - -import { State } from '../redux/reducer'; -import { OrderProcessState } from '../types'; - -import { ZeroExInstantContainer } from '../components/zero_ex_instant_container'; - -export interface ConnectedZeroExInstantContainerProps {} - -interface ConnectedState { -    orderProcessState: OrderProcessState; -} - -const mapStateToProps = (state: State, _ownProps: ConnectedZeroExInstantContainerProps): ConnectedState => ({ -    orderProcessState: state.buyOrderState.processState, -}); - -export const ConnectedZeroExInstantContainer: React.ComponentClass<ConnectedZeroExInstantContainerProps> = connect( -    mapStateToProps, -)(ZeroExInstantContainer);  | 
