import * as _ from 'lodash'; import * as React from 'react'; import { ProgressBar, TimedProgressBar } from '../components/timed_progress_bar'; import { TimeCounter } from '../components/time_counter'; import { Container } from '../components/ui/container'; import { OrderProcessState, OrderState } from '../types'; export interface BuyOrderProgressProps { buyOrderState: OrderState; } export const BuyOrderProgress: React.StatelessComponent = props => { const { buyOrderState } = props; let content: React.ReactNode = null; if ( buyOrderState.processState === OrderProcessState.Processing || buyOrderState.processState === OrderProcessState.Success || buyOrderState.processState === OrderProcessState.Failure ) { const progress = buyOrderState.progress; const hasEnded = buyOrderState.processState !== OrderProcessState.Processing; const expectedTimeMs = progress.expectedEndTimeUnix - progress.startTimeUnix; content = ( ); } else { // Just show a static progress bar if we aren't processing or in an end state content = ( ); } return ( {content} ); };