1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports["default"] = void 0;
|
7 |
|
8 | var _react = _interopRequireWildcard(require("react"));
|
9 |
|
10 | var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
|
11 |
|
12 | var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
13 |
|
14 | var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
15 |
|
16 | var _withStyles = _interopRequireDefault(require("@material-ui/core/styles/withStyles"));
|
17 |
|
18 | var _Link = _interopRequireDefault(require("react-router-dom/Link"));
|
19 |
|
20 | var _formData2 = _interopRequireDefault(require("sharyn/client/form-data"));
|
21 |
|
22 | var _Page = _interopRequireDefault(require("sharyn/components/Page"));
|
23 |
|
24 | var _cond = _interopRequireDefault(require("sharyn/util/cond"));
|
25 |
|
26 | var _i18n = require("../i18n");
|
27 |
|
28 | var _CustomButton = _interopRequireDefault(require("./CustomButton"));
|
29 |
|
30 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
31 |
|
32 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
33 |
|
34 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
|
35 |
|
36 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
37 |
|
38 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
39 |
|
40 | function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
41 |
|
42 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
43 |
|
44 | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
45 |
|
46 | function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
47 |
|
48 | var translations = {
|
49 | 'forgotten password': {
|
50 | fr: 'Mot de passe oublié',
|
51 | en: 'Forgotten Password',
|
52 | es: 'Contraseña olvidada'
|
53 | },
|
54 | 'back to login page': {
|
55 | fr: 'Retour à la page de connexion',
|
56 | en: 'Back to login page',
|
57 | es: 'Volver a la página de conexión'
|
58 | },
|
59 | 'reset password': {
|
60 | fr: 'Changer le mot de passe',
|
61 | en: 'Reset password',
|
62 | es: 'Cambiar contraseña'
|
63 | },
|
64 | 'email or username': {
|
65 | fr: "E-mail ou nom d'utilisateur",
|
66 | en: 'Email or username',
|
67 | es: 'Email o nombre de usuario'
|
68 | },
|
69 | 'reset password email sent': {
|
70 | fr: 'Un e-mail vous a été envoyé pour changer de mot de passe.',
|
71 | en: 'An email has been sent to you to set your new password.',
|
72 | es: 'Se le ha enviado un correo electrónico para configurar su nueva contraseña.'
|
73 | },
|
74 | 'call error message': {
|
75 | fr: "Cela n'a pas fonctionné. Merci de réessayer plus tard.",
|
76 | en: 'Something went wrong, please try again later.',
|
77 | es: 'No funcionó, por favor intente de nuevo más tarde.'
|
78 | }
|
79 | };
|
80 |
|
81 | var submitHandler = function submitHandler(_ref) {
|
82 | var lang = _ref.lang,
|
83 | emailPasswordResetCall = _ref.emailPasswordResetCall,
|
84 | setIsFinished = _ref.setIsFinished,
|
85 | setIsLoading = _ref.setIsLoading,
|
86 | setErrorMessage = _ref.setErrorMessage;
|
87 | return (
|
88 |
|
89 | function () {
|
90 | var _ref2 = _asyncToGenerator(
|
91 |
|
92 | regeneratorRuntime.mark(function _callee(e) {
|
93 | var _formData, username;
|
94 |
|
95 | return regeneratorRuntime.wrap(function _callee$(_context) {
|
96 | while (1) {
|
97 | switch (_context.prev = _context.next) {
|
98 | case 0:
|
99 | e.preventDefault();
|
100 | _formData = (0, _formData2["default"])(e), username = _formData.username;
|
101 | setIsLoading(true);
|
102 | _context.next = 5;
|
103 | return emailPasswordResetCall(username);
|
104 |
|
105 | case 5:
|
106 | if (!_context.sent) {
|
107 | _context.next = 9;
|
108 | break;
|
109 | }
|
110 |
|
111 | setIsFinished(true);
|
112 | _context.next = 10;
|
113 | break;
|
114 |
|
115 | case 9:
|
116 | setErrorMessage((0, _i18n.getTranslation)(translations, lang, 'call error message'));
|
117 |
|
118 | case 10:
|
119 | setIsLoading(false);
|
120 |
|
121 | case 11:
|
122 | case "end":
|
123 | return _context.stop();
|
124 | }
|
125 | }
|
126 | }, _callee);
|
127 | }));
|
128 |
|
129 | return function (_x) {
|
130 | return _ref2.apply(this, arguments);
|
131 | };
|
132 | }()
|
133 | );
|
134 | };
|
135 |
|
136 | var configLanguage = (0, _i18n.getLanguage)();
|
137 |
|
138 | var ForgottenPasswordPageJSX = function ForgottenPasswordPageJSX(_ref3) {
|
139 | var _storyLanguage;
|
140 |
|
141 | var css = _ref3.classes,
|
142 | emailPasswordResetCall = _ref3.emailPasswordResetCall,
|
143 | _ref3$loginPath = _ref3.loginPath,
|
144 | loginPath = _ref3$loginPath === void 0 ? '' : _ref3$loginPath,
|
145 | storyLanguage = _ref3.storyLanguage,
|
146 | isNeutral = _ref3.isNeutral;
|
147 | var lang = (_storyLanguage = storyLanguage) !== null && _storyLanguage !== void 0 ? _storyLanguage : configLanguage;
|
148 |
|
149 | var _useState = (0, _react.useState)(null),
|
150 | _useState2 = _slicedToArray(_useState, 2),
|
151 | errorMessage = _useState2[0],
|
152 | setErrorMessage = _useState2[1];
|
153 |
|
154 | var _useState3 = (0, _react.useState)(false),
|
155 | _useState4 = _slicedToArray(_useState3, 2),
|
156 | isFinished = _useState4[0],
|
157 | setIsFinished = _useState4[1];
|
158 |
|
159 | var _useState5 = (0, _react.useState)(false),
|
160 | _useState6 = _slicedToArray(_useState5, 2),
|
161 | isLoading = _useState6[0],
|
162 | setIsLoading = _useState6[1];
|
163 |
|
164 | return _react["default"].createElement(_Page["default"], {
|
165 | noPaper: true,
|
166 | middle: true,
|
167 | paperClass: css.container
|
168 | }, _react["default"].createElement("div", {
|
169 | style: {
|
170 | textAlign: 'center',
|
171 | width: '90%',
|
172 | maxWidth: 300
|
173 | }
|
174 | }, (0, _cond["default"])([[isFinished, function () {
|
175 | return _react["default"].createElement("div", null, (0, _i18n.getTranslation)(translations, lang, 'reset password email sent'));
|
176 | }], [isLoading, function () {
|
177 | return _react["default"].createElement(_CircularProgress["default"], null);
|
178 | }]], function () {
|
179 | return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_Typography["default"], {
|
180 | variant: "h1",
|
181 | style: {
|
182 | marginBottom: 24
|
183 | }
|
184 | }, (0, _i18n.getTranslation)(translations, lang, 'forgotten password')), errorMessage && _react["default"].createElement(_Typography["default"], {
|
185 | color: "error",
|
186 | style: {
|
187 | margin: '20px 0'
|
188 | }
|
189 | }, errorMessage), _react["default"].createElement("form", {
|
190 | style: {
|
191 | marginTop: 60,
|
192 | marginBottom: 40
|
193 | },
|
194 | onSubmit: submitHandler({
|
195 | emailPasswordResetCall: emailPasswordResetCall,
|
196 | setErrorMessage: setErrorMessage,
|
197 | setIsFinished: setIsFinished,
|
198 | setIsLoading: setIsLoading,
|
199 | lang: lang
|
200 | })
|
201 | }, _react["default"].createElement(_TextField["default"], {
|
202 | label: (0, _i18n.getTranslation)(translations, lang, 'email or username'),
|
203 | name: "username",
|
204 | style: {
|
205 | marginBottom: 20
|
206 | },
|
207 | required: true
|
208 | }), _react["default"].createElement("br", null), _react["default"].createElement(_CustomButton["default"], {
|
209 | colorType: !isNeutral ? 'primary' : 'secondary',
|
210 | height: "short",
|
211 | variant: "contained",
|
212 | type: "submit",
|
213 | style: {
|
214 | marginTop: 10
|
215 | }
|
216 | }, (0, _i18n.getTranslation)(translations, lang, 'reset password'))), _react["default"].createElement(_Typography["default"], {
|
217 | variant: "body1",
|
218 | color: !isNeutral ? 'primary' : 'secondary'
|
219 | }, _react["default"].createElement(_Link["default"], {
|
220 | to: loginPath,
|
221 | style: {
|
222 | color: 'inherit'
|
223 | }
|
224 | }, (0, _i18n.getTranslation)(translations, lang, 'back to login page'))));
|
225 | })));
|
226 | };
|
227 |
|
228 | ForgottenPasswordPageJSX.propTypes = {
|
229 | classes: _propTypes["default"].object.isRequired,
|
230 | emailPasswordResetCall: _propTypes["default"].func.isRequired,
|
231 | loginPath: _propTypes["default"].string,
|
232 | storyLanguage: _propTypes["default"].string,
|
233 | isNeutral: _propTypes["default"].bool.isRequired
|
234 | };
|
235 | var ForgottenPasswordPage = (0, _withStyles["default"])({
|
236 | container: {
|
237 | display: 'flex',
|
238 | alignItems: 'center',
|
239 | justifyContent: 'center',
|
240 | width: '100%'
|
241 | }
|
242 | })(ForgottenPasswordPageJSX);
|
243 | var _default = ForgottenPasswordPage;
|
244 | exports["default"] = _default; |
\ | No newline at end of file |