import * as React from 'react'; import { connect } from 'react-redux'; import { withRouter } from 'react-router'; import Container from './widgets/Container'; import SyncGate from './SyncGate'; import LoginForm from './components/LoginForm'; import { store, StoreState, CredentialsType } from './store'; import { fetchCredentials } from './store/actions'; import * as C from './constants'; class Root extends React.PureComponent { props: { credentials: CredentialsType; }; constructor(props: any) { super(props); this.onFormSubmit = this.onFormSubmit.bind(this); } onFormSubmit(username: string, password: string, encryptionPassword: string, serviceApiUrl?: string) { serviceApiUrl = serviceApiUrl ? serviceApiUrl : C.serviceApiBase; store.dispatch(fetchCredentials(username, password, encryptionPassword, serviceApiUrl)); } render() { if (this.props.credentials.value === null) { const style = { isSafe: { textDecoration: 'none', display: 'block', }, divider: { margin: '30px 0', color: '#00000025', } }; return (

Please Log In


); } return ( ); } } const mapStateToProps = (state: StoreState) => { return { credentials: state.credentials, }; }; // FIXME: withRouter is only needed here because of https://github.com/ReactTraining/react-router/issues/5795 export default withRouter(connect( mapStateToProps )(Root));