Remove ConnectedZeroExInstantContainer, introduce ConnectedBuyOrderProgressOrPaymentMethod
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import * as React from 'react';
|
||||
|
||||
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';
|
||||
|
||||
@@ -11,7 +11,7 @@ export const ZeroExInstant: React.StatelessComponent<ZeroExInstantProps> = props
|
||||
return (
|
||||
<div className={INJECTED_DIV_CLASS}>
|
||||
<ZeroExInstantProvider {...props}>
|
||||
<ConnectedZeroExInstantContainer />
|
||||
<ZeroExInstantContainer />
|
||||
</ZeroExInstantProvider>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -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 />;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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