Remove ConnectedZeroExInstantContainer, introduce ConnectedBuyOrderProgressOrPaymentMethod
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
|
|
||||||
import { INJECTED_DIV_CLASS } from '../constants';
|
import { INJECTED_DIV_CLASS } from '../constants';
|
||||||
import { ConnectedZeroExInstantContainer } from '../containers/connected_zero_ex_instant_container';
|
import { ZeroExInstantContainer } from '../components/zero_ex_instant_container';
|
||||||
|
|
||||||
import { ZeroExInstantProvider, ZeroExInstantProviderProps } from './zero_ex_instant_provider';
|
import { ZeroExInstantProvider, ZeroExInstantProviderProps } from './zero_ex_instant_provider';
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ export const ZeroExInstant: React.StatelessComponent<ZeroExInstantProps> = props
|
|||||||
return (
|
return (
|
||||||
<div className={INJECTED_DIV_CLASS}>
|
<div className={INJECTED_DIV_CLASS}>
|
||||||
<ZeroExInstantProvider {...props}>
|
<ZeroExInstantProvider {...props}>
|
||||||
<ConnectedZeroExInstantContainer />
|
<ZeroExInstantContainer />
|
||||||
</ZeroExInstantProvider>
|
</ZeroExInstantProvider>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
|
|
||||||
import { AvailableERC20TokenSelector } from '../containers/available_erc20_token_selector';
|
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 { CurrentStandardSlidingPanel } from '../containers/current_standard_sliding_panel';
|
||||||
import { LatestBuyQuoteOrderDetails } from '../containers/latest_buy_quote_order_details';
|
import { LatestBuyQuoteOrderDetails } from '../containers/latest_buy_quote_order_details';
|
||||||
import { LatestError } from '../containers/latest_error';
|
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 { SelectedAssetBuyOrderStateButtons } from '../containers/selected_asset_buy_order_state_buttons';
|
||||||
import { SelectedAssetInstantHeading } from '../containers/selected_asset_instant_heading';
|
import { SelectedAssetInstantHeading } from '../containers/selected_asset_instant_heading';
|
||||||
import { ColorOption } from '../style/theme';
|
import { ColorOption } from '../style/theme';
|
||||||
@@ -24,7 +23,7 @@ export interface ZeroExInstantContainerState {
|
|||||||
tokenSelectionPanelAnimationState: SlideAnimationState;
|
tokenSelectionPanelAnimationState: SlideAnimationState;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ZeroExInstantContainer extends React.Component<ZeroExInstantContainerProps, ZeroExInstantContainerState> {
|
export class ZeroExInstantContainer extends React.Component<{}, ZeroExInstantContainerState> {
|
||||||
public state = {
|
public state = {
|
||||||
tokenSelectionPanelAnimationState: 'none' as SlideAnimationState,
|
tokenSelectionPanelAnimationState: 'none' as SlideAnimationState,
|
||||||
};
|
};
|
||||||
@@ -51,7 +50,7 @@ export class ZeroExInstantContainer extends React.Component<ZeroExInstantContain
|
|||||||
>
|
>
|
||||||
<Flex direction="column" justify="flex-start" height="100%">
|
<Flex direction="column" justify="flex-start" height="100%">
|
||||||
<SelectedAssetInstantHeading onSelectAssetClick={this._handleSymbolClick} />
|
<SelectedAssetInstantHeading onSelectAssetClick={this._handleSymbolClick} />
|
||||||
{this._renderPaymentMethodOrBuyOrderProgress()}
|
<ConnectedBuyOrderProgressOrPaymentMethod />
|
||||||
<LatestBuyQuoteOrderDetails />
|
<LatestBuyQuoteOrderDetails />
|
||||||
<Container padding="20px" width="100%">
|
<Container padding="20px" width="100%">
|
||||||
<SelectedAssetBuyOrderStateButtons />
|
<SelectedAssetBuyOrderStateButtons />
|
||||||
@@ -79,16 +78,4 @@ export class ZeroExInstantContainer extends React.Component<ZeroExInstantContain
|
|||||||
tokenSelectionPanelAnimationState: 'slidOut',
|
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 />;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import * as React from 'react';
|
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 { ColorOption } from '../style/theme';
|
||||||
|
|
||||||
import { Container } from './ui/container';
|
import { Container } from './ui/container';
|
||||||
@@ -31,7 +31,7 @@ export const ZeroExInstantOverlay: React.StatelessComponent<ZeroExInstantOverlay
|
|||||||
/>
|
/>
|
||||||
</Container>
|
</Container>
|
||||||
<Container width={{ default: 'auto', sm: '100%' }} height={{ default: 'auto', sm: '100%' }}>
|
<Container width={{ default: 'auto', sm: '100%' }} height={{ default: 'auto', sm: '100%' }}>
|
||||||
<ConnectedZeroExInstantContainer />
|
<ZeroExInstantContainer />
|
||||||
</Container>
|
</Container>
|
||||||
</Flex>
|
</Flex>
|
||||||
</Overlay>
|
</Overlay>
|
||||||
|
|||||||
@@ -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);
|
||||||
@@ -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);
|
|
||||||
Reference in New Issue
Block a user