UNPKG

5.03 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _regenerator = require('babel-runtime/regenerator');
8
9var _regenerator2 = _interopRequireDefault(_regenerator);
10
11var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
12
13var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
14
15var _react = require('react');
16
17var _react2 = _interopRequireDefault(_react);
18
19var _recompose = require('recompose');
20
21var _Button = require('./Button');
22
23var _Button2 = _interopRequireDefault(_Button);
24
25var _ErrorMessage = require('./ErrorMessage');
26
27var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage);
28
29function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
31var SignInForm = function SignInForm(_ref) {
32 var callback = _ref.callback,
33 email = _ref.email,
34 _ref$labels = _ref.labels,
35 labels = _ref$labels === undefined ? {
36 email: 'Email',
37 password: 'Password',
38 submit: 'Submit'
39 } : _ref$labels,
40 handleEmail = _ref.handleEmail,
41 password = _ref.password,
42 handlePassword = _ref.handlePassword,
43 hasError = _ref.hasError,
44 handleHasError = _ref.handleHasError,
45 error = _ref.error,
46 handleError = _ref.handleError,
47 handleSignInWithEmailAndPassword = _ref.handleSignInWithEmailAndPassword;
48
49 var handleSubmit = function () {
50 var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(e) {
51 return _regenerator2.default.wrap(function _callee$(_context) {
52 while (1) {
53 switch (_context.prev = _context.next) {
54 case 0:
55 console.log('submit');
56 e.preventDefault();
57 _context.prev = 2;
58 _context.next = 5;
59 return handleSignInWithEmailAndPassword(email, password);
60
61 case 5:
62 _context.next = 7;
63 return callback();
64
65 case 7:
66 _context.next = 9;
67 return handleHasError(false);
68
69 case 9:
70 _context.next = 16;
71 break;
72
73 case 11:
74 _context.prev = 11;
75 _context.t0 = _context['catch'](2);
76
77 handleError(_context.t0);
78 handleHasError(true);
79 console.error(_context.t0);
80
81 case 16:
82 case 'end':
83 return _context.stop();
84 }
85 }
86 }, _callee, undefined, [[2, 11]]);
87 }));
88
89 return function handleSubmit(_x) {
90 return _ref2.apply(this, arguments);
91 };
92 }();
93 var onChangeEmail = function onChangeEmail(_ref3) {
94 var value = _ref3.target.value;
95
96 handleEmail(value);
97 };
98 var onChangePassword = function onChangePassword(_ref4) {
99 var value = _ref4.target.value;
100
101 handlePassword(value);
102 };
103
104 return _react2.default.createElement(
105 _react2.default.Fragment,
106 null,
107 _react2.default.createElement(
108 'form',
109 { className: 'signinform', onSubmit: handleSubmit },
110 _react2.default.createElement(
111 'div',
112 { className: 'form__socket' },
113 _react2.default.createElement('input', {
114 'data-testid': 'signinform-email',
115 type: 'text',
116 value: email,
117 onChange: onChangeEmail,
118 required: true
119 }),
120 _react2.default.createElement(
121 'label',
122 null,
123 labels.email
124 ),
125 _react2.default.createElement('span', { className: 'bar' })
126 ),
127 _react2.default.createElement(
128 'div',
129 { className: 'form__socket' },
130 _react2.default.createElement('input', {
131 type: 'text',
132 'data-testid': 'signinform-password',
133 value: password,
134 onChange: onChangePassword,
135 required: true
136 }),
137 _react2.default.createElement(
138 'label',
139 null,
140 labels.password
141 ),
142 _react2.default.createElement('span', { className: 'bar' })
143 ),
144 hasError && _react2.default.createElement(_ErrorMessage2.default, { code: error.code }),
145 _react2.default.createElement(
146 _Button2.default,
147 {
148 type: 'signin',
149 dataTestId: 'signinform-submitbutton',
150 onClick: function onClick(e) {
151 console.log('clicked submit');
152 handleSubmit(e);
153 }
154 },
155 labels.submit
156 ),
157 ' ',
158 _react2.default.createElement('input', {
159 type: 'submit',
160 style: { visibility: 'hidden', height: '0', position: 'fixed', left: '-9999' }
161 })
162 )
163 );
164};
165
166SignInForm.propTypes = {
167 //toggleModal: PropTypes.func.isRequired,
168};
169
170var enhance = (0, _recompose.compose)((0, _recompose.withState)('email', 'handleEmail', ''), (0, _recompose.withState)('password', 'handlePassword', ''), (0, _recompose.withState)('hasError', 'handleHasError', false), (0, _recompose.withState)('error', 'handleError', ''));
171
172exports.default = enhance(SignInForm);
\No newline at end of file