import EventEmitter from 'events' import h from 'react-hyperscript' import { Component } from 'react' import PropTypes from 'prop-types' import {connect} from 'react-redux' import { withRouter } from 'react-router-dom' import { compose } from 'recompose' import { closeWelcomeScreen } from './actions' import { INITIALIZE_CREATE_PASSWORD_ROUTE } from './routes' class WelcomeScreen extends Component { static propTypes = { closeWelcomeScreen: PropTypes.func.isRequired, welcomeScreenSeen: PropTypes.bool, history: PropTypes.object, t: PropTypes.func, } static contextTypes = { t: PropTypes.func, } constructor (props) { super(props) this.animationEventEmitter = new EventEmitter() } componentWillMount () { const { history, welcomeScreenSeen } = this.props if (welcomeScreenSeen) { history.push(INITIALIZE_CREATE_PASSWORD_ROUTE) } } initiateAccountCreation = () => { this.props.closeWelcomeScreen() this.props.history.push(INITIALIZE_CREATE_PASSWORD_ROUTE) } render () { return h('div.welcome-screen', [ h('div.welcome-screen__info', [ h('img.welcome-screen__info__logo', { src: '/images/dexon-wallet-black.svg', width: 160, height: 160, }), h('div.welcome-screen__info__header', this.context.t('welcome')), h('div.welcome-screen__info__copy', this.context.t('dekusanDescription')), h('div.welcome-screen__info__copy', this.context.t('holdDex')), h('button.welcome-screen__button', { onClick: this.initiateAccountCreation, }, this.context.t('continue')), ]), ]) } } const mapStateToProps = ({ dekusan: { welcomeScreenSeen } }) => { return { welcomeScreenSeen, } } export default compose( withRouter, connect( mapStateToProps, dispatch => ({ closeWelcomeScreen: () => dispatch(closeWelcomeScreen()), }) ) )(WelcomeScreen)