import * as React from 'react'; import { AvailableERC20TokenSelector } from '../containers/available_erc20_token_selector'; import { ConnectedAccountPaymentMethod } from '../containers/connected_account_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'; import { zIndex } from '../style/z_index'; import { OrderProcessState, SlideAnimationState } from '../types'; import { CSSReset } from './css_reset'; import { SlidingPanel } from './sliding_panel'; import { Container } from './ui/container'; import { Flex } from './ui/flex'; export interface ZeroExInstantContainerProps { orderProcessState: OrderProcessState; } export interface ZeroExInstantContainerState { tokenSelectionPanelAnimationState: SlideAnimationState; } export class ZeroExInstantContainer extends React.Component { public state = { tokenSelectionPanelAnimationState: 'none' as SlideAnimationState, }; public render(): React.ReactNode { return ( {this._renderPaymentMethodOrBuyOrderProgress()} ); } private readonly _handleSymbolClick = (): void => { this.setState({ tokenSelectionPanelAnimationState: 'slidIn', }); }; private readonly _handlePanelClose = (): void => { this.setState({ tokenSelectionPanelAnimationState: 'slidOut', }); }; private readonly _renderPaymentMethodOrBuyOrderProgress = (): React.ReactNode => { const { orderProcessState } = this.props; if ( orderProcessState === OrderProcessState.Processing || orderProcessState === OrderProcessState.Success || orderProcessState === OrderProcessState.Failure ) { return ; } if (orderProcessState === OrderProcessState.None) { return ; } return null; }; }