react-devise-facebook-encore
Version:
A simple package to interact with Facebook LogIn API
56 lines (50 loc) • 1.62 kB
JSX
import React from 'react';
import {connect} from 'react-redux';
import {reduxForm, Field} from 'redux-form';
import {requestReconfirm, formAction} from '../actions';
import {required, email} from './validation';
const RequestReconfirmForm = reduxForm({
form: 'requestReconfirmPassword'
})(({handleSubmit, valid, submitting, submitSucceeded, error, onSubmit, auth: {messages, viewPlugin: {renderInput, SubmitButton, FormError, Form}}}) => {
if (submitSucceeded) {
return <p>{messages.reqeustReconfirmSucceeded}</p>;
}
return (
<Form onSubmit={handleSubmit(formAction(onSubmit))}>
<Field
name="email"
label="Email"
component={renderInput}
validate={[required, email]}
/>
<SubmitButton
label={submitting ? 'Resending Confirmation Instructions...' : 'Resend Confirmation Instructions'}
disabled={!valid || submitting}
/>
{error && <FormError>{error}</FormError>}
</Form>
);
});
const RequestReconfirm = ({doRequestReconfirm, ...rest}) => {
const {auth: {AuthLinks, viewPlugin: {View, Heading}}} = rest;
return (
<View>
<Heading>
Resend Confirmation Instructions
</Heading>
<RequestReconfirmForm onSubmit={doRequestReconfirm} {...rest} />
<AuthLinks />
</View>
);
};
const mapDispatchToProps = dispatch => {
return {
doRequestReconfirm: data => requestReconfirm(data, dispatch)
};
};
const RequestReconfirmContainer = connect(null, mapDispatchToProps)(RequestReconfirm);
export {
RequestReconfirmForm,
RequestReconfirm,
RequestReconfirmContainer as default
};