UNPKG

@teikei/map

Version:

Teikei map SPA component. Teikei is the software that powers ernte-teilen.org, a website that maps out Community-supported Agriculture in Germany.

54 lines (45 loc) 1.55 kB
import React from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' import { signIn, signUp } from './duck' import config from '../../configuration' import SignUpForm from './tabs/SignUpForm' import SignInForm from './tabs/SignInForm' import i18n from '../../i18n' const UserOnboarding = ({ signUp, onSignInSubmit, onSignUpSubmit }) => { const SignUp = () => <SignUpForm onSubmit={onSignUpSubmit} /> const SignIn = () => <SignInForm onSubmit={onSignInSubmit} /> return ( <div className="user-onboarding"> <div className="user-container"> <div className="user-onboarding-intro"> <h2>{i18n.t('user.onboarding.title')}</h2> <p>{i18n.t('user.onboarding.intro')}</p> <p>{i18n.t('user.onboarding.explanation')}</p> </div> <div className="user-onboarding-form"> {signUp ? <SignUp /> : <SignIn />} </div> </div> </div> ) } UserOnboarding.propTypes = { signUp: PropTypes.bool.isRequired, onSignInSubmit: PropTypes.func.isRequired, onSignUpSubmit: PropTypes.func.isRequired } const mapStateToProps = ({ user }, { route }) => ({ loggedIn: user.loggedIn, signUp: route.signUp }) const mapDispatchToProps = dispatch => ({ onSignInSubmit: payload => dispatch(signIn(payload)), onSignUpSubmit: payload => dispatch(signUp({ ...payload, baseurl: config.baseUrl })) }) const UserOnboardingContainer = connect( mapStateToProps, mapDispatchToProps )(UserOnboarding) export default UserOnboardingContainer