UNPKG

3.51 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _react = require('react');
8
9var _react2 = _interopRequireDefault(_react);
10
11var _recompose = require('recompose');
12
13var _SinglePageModal = require('./SinglePageModal');
14
15var _SinglePageModal2 = _interopRequireDefault(_SinglePageModal);
16
17var _Button = require('./Button');
18
19var _Button2 = _interopRequireDefault(_Button);
20
21function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
23var PasswordRecoveryModal = function PasswordRecoveryModal(_ref) {
24 var labels = _ref.labels,
25 handleSendPasswordResetEmail = _ref.handleSendPasswordResetEmail,
26 setEmail = _ref.setEmail,
27 email = _ref.email;
28
29 var recoverPassword = function recoverPassword() {
30 try {
31 handleSendPasswordResetEmail();
32 console.log('Password reset email sent to ' + email + '.');
33 } catch (e) {
34 console.log(e);
35 }
36 };
37 return _react2.default.createElement(_SinglePageModal2.default, {
38 modalDialogContainerClassNameAppend: 'passwordrecoverymodal__container',
39 renderTrigger: function renderTrigger(_ref2) {
40 var getTriggerProps = _ref2.getTriggerProps;
41 return _react2.default.createElement(
42 'div',
43 getTriggerProps(),
44 labels.trigger
45 );
46 },
47 renderHeader: function renderHeader(_ref3) {
48 var getHeaderProps = _ref3.getHeaderProps;
49 return _react2.default.createElement(
50 'div',
51 getHeaderProps(),
52 _react2.default.createElement(
53 'span',
54 null,
55 labels.header
56 )
57 );
58 },
59 renderBody: function renderBody(_ref4) {
60 var getBodyProps = _ref4.getBodyProps;
61 return _react2.default.createElement(
62 'div',
63 getBodyProps(),
64 _react2.default.createElement(
65 'form',
66 { className: 'passwordrecoveryform', onSubmit: recoverPassword },
67 _react2.default.createElement(
68 'div',
69 { className: 'form__socket' },
70 _react2.default.createElement('input', {
71 type: 'text',
72 required: true,
73 'data-testid': 'passwordrecoveryform-email',
74 value: email,
75 onChange: function onChange(e) {
76 return setEmail(e.target.value);
77 }
78 }),
79 _react2.default.createElement(
80 'label',
81 null,
82 labels.email
83 ),
84 _react2.default.createElement('span', { className: 'bar' })
85 ),
86 _react2.default.createElement(
87 _Button2.default,
88 { onClick: recoverPassword, type: 'confirm' },
89 labels.submit
90 ),
91 _react2.default.createElement('input', {
92 type: 'submit',
93 style: { visibility: 'hidden', height: '0', position: 'fixed', left: '-9999' }
94 })
95 )
96 );
97 }
98 });
99};
100
101PasswordRecoveryModal.propTypes = {};
102PasswordRecoveryModal.defaultProps = {
103 handleSendPasswordResetEmail: function handleSendPasswordResetEmail() {
104 return console.log('handleSendPasswordResetEmail');
105 },
106 triggerClassNameOverride: '',
107 labels: {
108 trigger: 'recover your password',
109 header: 'recover your password',
110 email: 'enter your email',
111 submit: 'submit'
112 }
113};
114
115var enhance = (0, _recompose.compose)((0, _recompose.withState)('email', 'setEmail', ''), _recompose.pure);
116
117exports.default = enhance(PasswordRecoveryModal);
\No newline at end of file