@stokr/components-library 2.3.41-beta.10 → 2.3.41-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -58,6 +58,14 @@ var ResetPasswordModal = function ResetPasswordModal(_ref) {
|
|
|
58
58
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
59
59
|
isCheckingToken = _useState4[0],
|
|
60
60
|
setIsCheckingToken = _useState4[1];
|
|
61
|
+
var _useState5 = (0, _react.useState)(false),
|
|
62
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
63
|
+
isSubmitting = _useState6[0],
|
|
64
|
+
setIsSubmitting = _useState6[1];
|
|
65
|
+
var _useState7 = (0, _react.useState)(false),
|
|
66
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
67
|
+
activationSuccess = _useState8[0],
|
|
68
|
+
setActivationSuccess = _useState8[1];
|
|
61
69
|
var location = (0, _reactRouterDom.useLocation)();
|
|
62
70
|
var initialValues = {
|
|
63
71
|
password: '',
|
|
@@ -129,28 +137,58 @@ var ResetPasswordModal = function ResetPasswordModal(_ref) {
|
|
|
129
137
|
};
|
|
130
138
|
}();
|
|
131
139
|
var handleResendActivationMail = /*#__PURE__*/function () {
|
|
132
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values) {
|
|
133
|
-
var response;
|
|
140
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values, formikActions) {
|
|
141
|
+
var response, urlObj, params, newOobCode, currentUrl;
|
|
134
142
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
135
143
|
while (1) switch (_context2.prev = _context2.next) {
|
|
136
144
|
case 0:
|
|
137
145
|
_context2.prev = 0;
|
|
138
|
-
|
|
146
|
+
setIsSubmitting(true);
|
|
147
|
+
_context2.next = 4;
|
|
139
148
|
return _Auth.default.resendActivationEmail(values.email);
|
|
140
|
-
case
|
|
149
|
+
case 4:
|
|
141
150
|
response = _context2.sent;
|
|
151
|
+
// new oobCode is in response URL
|
|
152
|
+
if (response) {
|
|
153
|
+
urlObj = new URL(response);
|
|
154
|
+
params = new URLSearchParams(urlObj.search);
|
|
155
|
+
newOobCode = params.get('oobCode');
|
|
156
|
+
if (newOobCode) {
|
|
157
|
+
// update the URL with the new oobCode without reloading the page
|
|
158
|
+
currentUrl = new URL(window.location.href);
|
|
159
|
+
currentUrl.searchParams.set('oobCode', newOobCode);
|
|
160
|
+
window.history.replaceState({}, '', currentUrl.toString());
|
|
161
|
+
|
|
162
|
+
// reset states to show the password reset form
|
|
163
|
+
setIsTokenExpired(false);
|
|
164
|
+
setActivationSuccess(true);
|
|
165
|
+
|
|
166
|
+
// small delay for UI sakes
|
|
167
|
+
setTimeout(function () {
|
|
168
|
+
setIsSubmitting(false);
|
|
169
|
+
}, 1000);
|
|
170
|
+
} else {
|
|
171
|
+
console.error('New oobCode not found in response');
|
|
172
|
+
setIsSubmitting(false);
|
|
173
|
+
}
|
|
174
|
+
} else {
|
|
175
|
+
console.error('Unexpected response format', response);
|
|
176
|
+
setIsSubmitting(false);
|
|
177
|
+
}
|
|
142
178
|
return _context2.abrupt("return", response);
|
|
143
|
-
case
|
|
144
|
-
_context2.prev =
|
|
179
|
+
case 9:
|
|
180
|
+
_context2.prev = 9;
|
|
145
181
|
_context2.t0 = _context2["catch"](0);
|
|
146
182
|
console.error('There was an error while resending the activation email.', _context2.t0);
|
|
147
|
-
|
|
183
|
+
setIsSubmitting(false);
|
|
184
|
+
formikActions.setSubmitting(false);
|
|
185
|
+
case 14:
|
|
148
186
|
case "end":
|
|
149
187
|
return _context2.stop();
|
|
150
188
|
}
|
|
151
|
-
}, _callee2, null, [[0,
|
|
189
|
+
}, _callee2, null, [[0, 9]]);
|
|
152
190
|
}));
|
|
153
|
-
return function handleResendActivationMail(_x) {
|
|
191
|
+
return function handleResendActivationMail(_x, _x2) {
|
|
154
192
|
return _ref3.apply(this, arguments);
|
|
155
193
|
};
|
|
156
194
|
}();
|
|
@@ -175,8 +213,8 @@ var ResetPasswordModal = function ResetPasswordModal(_ref) {
|
|
|
175
213
|
email: ''
|
|
176
214
|
},
|
|
177
215
|
validationSchema: emailValidationSchema,
|
|
178
|
-
onSubmit: function onSubmit(values) {
|
|
179
|
-
handleResendActivationMail(values);
|
|
216
|
+
onSubmit: function onSubmit(values, formikActions) {
|
|
217
|
+
handleResendActivationMail(values, formikActions);
|
|
180
218
|
}
|
|
181
219
|
}, function (_ref4) {
|
|
182
220
|
var values = _ref4.values,
|
|
@@ -184,7 +222,8 @@ var ResetPasswordModal = function ResetPasswordModal(_ref) {
|
|
|
184
222
|
touched = _ref4.touched,
|
|
185
223
|
handleBlur = _ref4.handleBlur,
|
|
186
224
|
setFieldValue = _ref4.setFieldValue,
|
|
187
|
-
setFieldTouched = _ref4.setFieldTouched
|
|
225
|
+
setFieldTouched = _ref4.setFieldTouched,
|
|
226
|
+
isSubmitting = _ref4.isSubmitting;
|
|
188
227
|
var onChangeWithTouch = function onChangeWithTouch(e) {
|
|
189
228
|
var field = e.target;
|
|
190
229
|
setFieldValue(field.name, field.value, false);
|
|
@@ -210,8 +249,9 @@ var ResetPasswordModal = function ResetPasswordModal(_ref) {
|
|
|
210
249
|
noPaddingHorizontal: true
|
|
211
250
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
212
251
|
type: "submit",
|
|
213
|
-
fluid: true
|
|
214
|
-
|
|
252
|
+
fluid: true,
|
|
253
|
+
disabled: isSubmitting || isActionLoading === 'resetPassword'
|
|
254
|
+
}, isSubmitting || isActionLoading === 'resetPassword' ? 'Sending' : 'Resend link')), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
215
255
|
paddingVeticalHalf: true,
|
|
216
256
|
noPaddingHorizontal: true
|
|
217
257
|
}, /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
@@ -227,14 +267,32 @@ var ResetPasswordModal = function ResetPasswordModal(_ref) {
|
|
|
227
267
|
part: 16
|
|
228
268
|
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("p", null, "Verifying your reset link..."))))));
|
|
229
269
|
};
|
|
270
|
+
var renderSuccessNotification = function renderSuccessNotification() {
|
|
271
|
+
return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
|
|
272
|
+
isOpen: true,
|
|
273
|
+
onClose: onModalClose
|
|
274
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Row, null, /*#__PURE__*/_react.default.createElement(_Grid.Column, {
|
|
275
|
+
part: 16
|
|
276
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.ModalInner, null, /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("h3", null, "NEW LINK GENERATED"), /*#__PURE__*/_react.default.createElement("p", null, "Your new activation link has been processed successfully. You can now reset your password."))))));
|
|
277
|
+
};
|
|
230
278
|
(0, _react.useEffect)(function () {
|
|
231
279
|
console.log('Component mounted, checking token');
|
|
232
280
|
checkTokenExpiration();
|
|
233
281
|
}, []);
|
|
282
|
+
|
|
283
|
+
// show the success message briefly then reset to show the password form
|
|
284
|
+
(0, _react.useEffect)(function () {
|
|
285
|
+
if (activationSuccess) {
|
|
286
|
+
setTimeout(function () {
|
|
287
|
+
setActivationSuccess(false);
|
|
288
|
+
}, 2000); // Show success message for 2 seconds
|
|
289
|
+
}
|
|
290
|
+
}, [activationSuccess]);
|
|
234
291
|
console.log('Render state:', {
|
|
235
292
|
isTokenExpired: isTokenExpired,
|
|
236
293
|
isCheckingToken: isCheckingToken,
|
|
237
|
-
isModalOpen: isModalOpen
|
|
294
|
+
isModalOpen: isModalOpen,
|
|
295
|
+
activationSuccess: activationSuccess
|
|
238
296
|
});
|
|
239
297
|
if (!isModalOpen) {
|
|
240
298
|
return null;
|
|
@@ -242,6 +300,9 @@ var ResetPasswordModal = function ResetPasswordModal(_ref) {
|
|
|
242
300
|
if (isCheckingToken) {
|
|
243
301
|
return renderLoadingContent();
|
|
244
302
|
}
|
|
303
|
+
if (activationSuccess) {
|
|
304
|
+
return renderSuccessNotification();
|
|
305
|
+
}
|
|
245
306
|
if (isTokenExpired) {
|
|
246
307
|
return renderExpiredTokenContent();
|
|
247
308
|
}
|