/* @flow */ import * as React from 'react'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import * as RouterActions from 'actions/RouterActions'; import type { State, Dispatch } from 'flowtype'; import InstallBridge from './index'; type OwnProps = {| children?: React.Node, |}; export type StateProps = {| transport: $ElementType<$ElementType, 'transport'>, |}; type DispatchProps = {| selectFirstAvailableDevice: typeof RouterActions.selectFirstAvailableDevice, |}; export type Props = {| ...StateProps, ...DispatchProps, ...OwnProps |}; const mapStateToProps = (state: State): StateProps => ({ transport: state.connect.transport, }); const mapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({ selectFirstAvailableDevice: bindActionCreators( RouterActions.selectFirstAvailableDevice, dispatch ), }); export default connect( mapStateToProps, mapDispatchToProps )(InstallBridge);