import { Button } from '@src/ui/components/Button'; import { ControlsView } from '@src/ui/components/ControlsView'; import { ErrorView } from '@src/ui/components/ErrorView'; import { LoadingView } from '@src/ui/components/LoadingView'; import { StartView } from '@src/ui/components/StartView'; import { IInfo, ViewTypes } from '@src/ui/types'; import { attachEvents, EventUnsubscribeFn } from '@src/ui/utils/attachEvents'; import { withState } from '@src/ui/withState'; import cx from 'classnames'; import * as React from 'react'; interface MainProps { view: ViewTypes; isMobile: boolean; visibleControls: boolean; isPip: boolean; isFullscreen: boolean; } export const Main = withState( (props: MainProps) => (
{props.view === ViewTypes.ERROR && } {props.view === ViewTypes.LOADING && } {props.view === ViewTypes.START && } {props.view === ViewTypes.CONTROLS && }
), mapProps, ); function mapProps(info: IInfo): MainProps { return { view: info.data.view, isMobile: info.data.isMobile, visibleControls: info.data.visibleControls, isPip: info.data.pip, isFullscreen: info.data.isFullscreen, }; }