aboutsummaryrefslogblamecommitdiffstats
path: root/packages/instant/src/containers/connected_buy_order_progress_or_payment_method.tsx
blob: 05071c8c336b77fadad6094d86390a430b6a55c6 (plain) (tree)



































                                                                                                                      
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);