@stokr/components-library 2.3.41-beta.23 → 2.3.41-beta.25
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.
- package/dist/components/ForgotPasswordModal/ForgotPasswordModal.js +9 -20
- package/dist/components/ForgotPasswordModal/ForgotPasswordModal.stories.js +28 -1
- package/dist/components/Input/Input.js +15 -6
- package/dist/components/LoginModal/LoginModal.js +11 -30
- package/dist/components/LoginModal/LoginModal.stories.js +15 -15
- package/dist/components/RegisterModal/RegisterModal.js +2 -9
- package/dist/components/VerifyEmailModal/VerifyEmailModal.js +6 -12
- package/dist/components/headerHo/HeaderHo.js +19 -2
- package/package.json +1 -1
|
@@ -97,15 +97,9 @@ var ForgotPasswordModal = /*#__PURE__*/function (_PureComponent) {
|
|
|
97
97
|
var values = _ref.values,
|
|
98
98
|
errors = _ref.errors,
|
|
99
99
|
touched = _ref.touched,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
var onChangeWithTouch = function onChangeWithTouch(e) {
|
|
104
|
-
var field = e.target;
|
|
105
|
-
setFieldValue(field.name, field.value, false);
|
|
106
|
-
setFieldTouched(field.name);
|
|
107
|
-
};
|
|
108
|
-
var submitDisabled = !touched.email || !!errors.email || isActionLoading === 'forgot';
|
|
100
|
+
handleChange = _ref.handleChange,
|
|
101
|
+
handleBlur = _ref.handleBlur;
|
|
102
|
+
var submitDisabled = !values.email || !!errors.email || isActionLoading === 'forgot';
|
|
109
103
|
return /*#__PURE__*/_react.default.createElement(_Form.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
110
104
|
noPadding: true
|
|
111
105
|
}, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
@@ -114,10 +108,12 @@ var ForgotPasswordModal = /*#__PURE__*/function (_PureComponent) {
|
|
|
114
108
|
type: "email",
|
|
115
109
|
label: "Your email",
|
|
116
110
|
value: values.email,
|
|
117
|
-
onChange: onChangeWithTouch,
|
|
118
|
-
onBlur: handleBlur,
|
|
119
111
|
error: !!errors.email,
|
|
120
|
-
touched: !!touched.email
|
|
112
|
+
touched: !!touched.email,
|
|
113
|
+
onChange: handleChange,
|
|
114
|
+
onBlur: handleBlur,
|
|
115
|
+
validateOnChange: true,
|
|
116
|
+
validateOnBlur: true
|
|
121
117
|
}), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
122
118
|
show: errors.email && touched.email
|
|
123
119
|
}, errors.email))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
@@ -133,14 +129,7 @@ var ForgotPasswordModal = /*#__PURE__*/function (_PureComponent) {
|
|
|
133
129
|
}, /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
134
130
|
show: popupError.popup === 'forgot'
|
|
135
131
|
}, popupError.message)));
|
|
136
|
-
}) :
|
|
137
|
-
/*#__PURE__*/
|
|
138
|
-
// <ComponentWrapper paddingVeticalHalf noPaddingHorizontal>
|
|
139
|
-
// <FormError show={popupSuccess.popup === 'forgot'}>
|
|
140
|
-
// {popupSuccess.message}
|
|
141
|
-
// </FormError>
|
|
142
|
-
// </ComponentWrapper>
|
|
143
|
-
_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("p", null, popupSuccess.message))))));
|
|
132
|
+
}) : /*#__PURE__*/_react.default.createElement(_Text.default, null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("p", null, popupSuccess.message))))));
|
|
144
133
|
}
|
|
145
134
|
}]);
|
|
146
135
|
return ForgotPasswordModal;
|
|
@@ -31,6 +31,29 @@ var _default = {
|
|
|
31
31
|
type: 'function',
|
|
32
32
|
action: 'onModalSwitch',
|
|
33
33
|
required: true
|
|
34
|
+
},
|
|
35
|
+
isActionLoading: {
|
|
36
|
+
control: {
|
|
37
|
+
type: 'select',
|
|
38
|
+
options: [false, 'forgot']
|
|
39
|
+
},
|
|
40
|
+
description: 'Loading state for the form submission'
|
|
41
|
+
},
|
|
42
|
+
background: {
|
|
43
|
+
control: 'text',
|
|
44
|
+
description: 'Background style for the modal'
|
|
45
|
+
},
|
|
46
|
+
isResettingExpiredToken: {
|
|
47
|
+
control: 'boolean',
|
|
48
|
+
description: 'Changes modal content for expired token reset'
|
|
49
|
+
},
|
|
50
|
+
popupError: {
|
|
51
|
+
control: 'object',
|
|
52
|
+
description: 'Error object to display form errors'
|
|
53
|
+
},
|
|
54
|
+
popupSuccess: {
|
|
55
|
+
control: 'object',
|
|
56
|
+
description: 'Success object to display success messages'
|
|
34
57
|
}
|
|
35
58
|
}
|
|
36
59
|
};
|
|
@@ -41,6 +64,10 @@ var Template = function Template(args) {
|
|
|
41
64
|
var ForgotPasswordModalOverview = Template.bind({});
|
|
42
65
|
exports.ForgotPasswordModalOverview = ForgotPasswordModalOverview;
|
|
43
66
|
ForgotPasswordModalOverview.args = {
|
|
67
|
+
isModalOpen: true,
|
|
44
68
|
popupError: {},
|
|
45
|
-
popupSuccess: {}
|
|
69
|
+
popupSuccess: {},
|
|
70
|
+
isActionLoading: false,
|
|
71
|
+
background: '',
|
|
72
|
+
isResettingExpiredToken: false
|
|
46
73
|
};
|
|
@@ -51,20 +51,29 @@ var Input = function Input(props) {
|
|
|
51
51
|
(0, _react.useEffect)(function () {
|
|
52
52
|
if (value && !labelUp) setLabelUp(true);
|
|
53
53
|
}, [value, labelUp]);
|
|
54
|
-
var onFocus = function onFocus(e, field) {
|
|
55
|
-
var onFocus = props.onFocus;
|
|
56
|
-
onFocus && onFocus(e, field);
|
|
57
|
-
checkLabel(true);
|
|
58
|
-
};
|
|
59
54
|
var onBlur = function onBlur(e, field) {
|
|
60
55
|
var onBlur = props.onBlur;
|
|
56
|
+
|
|
57
|
+
// formik handler MUST be called before our logic !
|
|
61
58
|
onBlur && onBlur(e, field);
|
|
59
|
+
|
|
60
|
+
// our logic follows
|
|
62
61
|
checkLabel(false);
|
|
63
62
|
};
|
|
63
|
+
var onFocus = function onFocus(e, field) {
|
|
64
|
+
var onFocus = props.onFocus;
|
|
65
|
+
|
|
66
|
+
// formik handler MUST be called before our logic !
|
|
67
|
+
onFocus && onFocus(e, field);
|
|
68
|
+
|
|
69
|
+
// our logic follows
|
|
70
|
+
checkLabel(true);
|
|
71
|
+
};
|
|
64
72
|
var onChange = function onChange(e, field) {
|
|
65
73
|
var onChange = props.onChange;
|
|
66
|
-
onChange && onChange(e, field);
|
|
74
|
+
onChange && onChange(e, field); // formik handler
|
|
67
75
|
};
|
|
76
|
+
|
|
68
77
|
var checkLabel = function checkLabel(focus) {
|
|
69
78
|
setHasFocus(focus);
|
|
70
79
|
setLabelUp(focus || !!value);
|
|
@@ -10,7 +10,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
10
10
|
var _reactRouterDom = require("react-router-dom");
|
|
11
11
|
var _formik = require("formik");
|
|
12
12
|
var Yup = _interopRequireWildcard(require("yup"));
|
|
13
|
-
var _formikPersist = require("formik-persist");
|
|
14
13
|
var _Modal = require("../Modal/Modal");
|
|
15
14
|
var _Form = _interopRequireWildcard(require("../Form/Form"));
|
|
16
15
|
var _Text = _interopRequireDefault(require("../Text/Text.styles"));
|
|
@@ -34,20 +33,20 @@ var LoginModal = function LoginModal(props) {
|
|
|
34
33
|
var _React$useState = _react.default.useState(),
|
|
35
34
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
36
35
|
email = _React$useState2[0],
|
|
37
|
-
|
|
36
|
+
setEmail = _React$useState2[1];
|
|
38
37
|
var location = (0, _reactRouterDom.useLocation)();
|
|
39
|
-
var emailSetRef = _react.default.useRef(false);
|
|
40
38
|
_react.default.useEffect(function () {
|
|
41
39
|
//the URL will look like this: /login?email=some.email@email.com
|
|
42
40
|
var search = location.search;
|
|
43
41
|
var query = new URLSearchParams(search);
|
|
44
42
|
var email = query.get('email');
|
|
45
43
|
if (email) {
|
|
46
|
-
|
|
44
|
+
setEmail(email);
|
|
47
45
|
}
|
|
48
46
|
}, []);
|
|
49
47
|
var validationSchema = Yup.object().shape({
|
|
50
|
-
email: Yup.string().matches(_globalVariables.emailRegex, "Oops, that's not a valid address").required(
|
|
48
|
+
email: Yup.string().matches(_globalVariables.emailRegex, "Oops, that's not a valid address").required("Oops, this can't be blank"),
|
|
49
|
+
password: Yup.string().min(6, 'Password must be at least 6 characters').required('Password is required')
|
|
51
50
|
});
|
|
52
51
|
var popupError = props.popupError,
|
|
53
52
|
isModalOpen = props.isModalOpen,
|
|
@@ -77,9 +76,9 @@ var LoginModal = function LoginModal(props) {
|
|
|
77
76
|
initialValues: {
|
|
78
77
|
email: email || '',
|
|
79
78
|
password: ''
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
,
|
|
79
|
+
},
|
|
80
|
+
validateOnChange: true,
|
|
81
|
+
validateOnBlur: true,
|
|
83
82
|
validationSchema: validationSchema,
|
|
84
83
|
onSubmit: function onSubmit(values) {
|
|
85
84
|
onFormSend(values);
|
|
@@ -89,26 +88,8 @@ var LoginModal = function LoginModal(props) {
|
|
|
89
88
|
errors = _ref.errors,
|
|
90
89
|
touched = _ref.touched,
|
|
91
90
|
handleChange = _ref.handleChange,
|
|
92
|
-
handleBlur = _ref.handleBlur
|
|
93
|
-
|
|
94
|
-
setFieldTouched = _ref.setFieldTouched,
|
|
95
|
-
setErrors = _ref.setErrors;
|
|
96
|
-
var onChangeWithTouch = function onChangeWithTouch(e) {
|
|
97
|
-
var field = e.target;
|
|
98
|
-
setFieldValue(field.name, field.value, false);
|
|
99
|
-
setFieldTouched(field.name);
|
|
100
|
-
};
|
|
101
|
-
if (email && values.email !== email && !emailSetRef.current) {
|
|
102
|
-
setFieldValue('email', email);
|
|
103
|
-
emailSetRef.current = true;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
//hack to avoid error when autofill from browser
|
|
107
|
-
if (values.password && errors.password && values.email && !errors.email) {
|
|
108
|
-
setErrors({});
|
|
109
|
-
setFieldValue('password', values.password, false);
|
|
110
|
-
}
|
|
111
|
-
var submitDisabled = !touched.email || !touched.password || !!errors.email || !!errors.password || isActionLoading === 'login';
|
|
91
|
+
handleBlur = _ref.handleBlur;
|
|
92
|
+
var submitDisabled = !values.email || !values.password || !!errors.email || !!errors.password || isActionLoading === 'login';
|
|
112
93
|
return /*#__PURE__*/_react.default.createElement(_Form.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
113
94
|
noPadding: true
|
|
114
95
|
}, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
@@ -117,7 +98,7 @@ var LoginModal = function LoginModal(props) {
|
|
|
117
98
|
type: "email",
|
|
118
99
|
label: "Your email",
|
|
119
100
|
value: values.email,
|
|
120
|
-
onChange:
|
|
101
|
+
onChange: handleChange,
|
|
121
102
|
onBlur: handleBlur,
|
|
122
103
|
error: !!errors.email,
|
|
123
104
|
touched: !!touched.email
|
|
@@ -132,7 +113,7 @@ var LoginModal = function LoginModal(props) {
|
|
|
132
113
|
type: "password",
|
|
133
114
|
label: "Password",
|
|
134
115
|
value: values.password,
|
|
135
|
-
onChange:
|
|
116
|
+
onChange: handleChange,
|
|
136
117
|
onBlur: handleBlur,
|
|
137
118
|
error: !!errors.password,
|
|
138
119
|
touched: !!touched.password
|
|
@@ -13,37 +13,35 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
13
13
|
var _default = {
|
|
14
14
|
title: 'Components Library/LoginModal',
|
|
15
15
|
component: _LoginModal.default,
|
|
16
|
+
parameters: {
|
|
17
|
+
layout: 'fullscreen'
|
|
18
|
+
},
|
|
16
19
|
argTypes: {
|
|
17
20
|
popupError: {
|
|
18
|
-
|
|
19
|
-
defaultValue: {
|
|
20
|
-
message: null,
|
|
21
|
-
popup: null
|
|
22
|
-
},
|
|
23
|
-
required: true
|
|
21
|
+
control: 'object'
|
|
24
22
|
},
|
|
25
23
|
isActionLoading: {
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
control: {
|
|
25
|
+
type: 'select'
|
|
26
|
+
},
|
|
27
|
+
options: [false, 'login']
|
|
28
28
|
},
|
|
29
29
|
isModalOpen: {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
control: 'boolean'
|
|
31
|
+
},
|
|
32
|
+
background: {
|
|
33
|
+
control: 'text'
|
|
32
34
|
},
|
|
33
35
|
onFormSend: {
|
|
34
|
-
type: 'function',
|
|
35
36
|
action: 'onFormSend'
|
|
36
37
|
},
|
|
37
38
|
onModalSwitch: {
|
|
38
|
-
type: 'function',
|
|
39
39
|
action: 'onModalSwitch'
|
|
40
40
|
},
|
|
41
41
|
onForgotPassword: {
|
|
42
|
-
type: 'function',
|
|
43
42
|
action: 'onForgotPassword'
|
|
44
43
|
},
|
|
45
44
|
onModalClose: {
|
|
46
|
-
type: 'function',
|
|
47
45
|
action: 'onModalClose'
|
|
48
46
|
}
|
|
49
47
|
}
|
|
@@ -55,6 +53,7 @@ var Template = function Template(args) {
|
|
|
55
53
|
var LoginModalOpen = Template.bind({});
|
|
56
54
|
exports.LoginModalOpen = LoginModalOpen;
|
|
57
55
|
LoginModalOpen.args = {
|
|
56
|
+
isModalOpen: true,
|
|
58
57
|
popupError: {
|
|
59
58
|
message: null,
|
|
60
59
|
popup: null
|
|
@@ -74,5 +73,6 @@ LoginModalOpen.args = {
|
|
|
74
73
|
},
|
|
75
74
|
onForgotPassword: function onForgotPassword(data) {
|
|
76
75
|
console.log('forgot password');
|
|
77
|
-
}
|
|
76
|
+
},
|
|
77
|
+
isActionLoading: false
|
|
78
78
|
};
|
|
@@ -211,7 +211,7 @@ var RegisterModal = function RegisterModal(props) {
|
|
|
211
211
|
handleChange(e);
|
|
212
212
|
}
|
|
213
213
|
};
|
|
214
|
-
var submitDisabled = !!errors.email || !!errors.terms || values.password.length <= 5 || isActionLoading === 'signUp' || popupError.popup === 'register';
|
|
214
|
+
var submitDisabled = !values.email || !!errors.email || !!errors.terms || values.password.length <= 5 || isActionLoading === 'signUp' || popupError.popup === 'register';
|
|
215
215
|
return /*#__PURE__*/_react.default.createElement(_Form.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
216
216
|
noPadding: true
|
|
217
217
|
}, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
@@ -243,16 +243,9 @@ var RegisterModal = function RegisterModal(props) {
|
|
|
243
243
|
error: !!errors.password,
|
|
244
244
|
touched: !!touched.password,
|
|
245
245
|
info: "For a stronger password, try a mix of lowercase, capitals, numbers and special characters."
|
|
246
|
-
// showStrength
|
|
247
246
|
}), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
248
247
|
show: errors.password && touched.password
|
|
249
|
-
}, errors.password), /*#__PURE__*/_react.default.createElement(_Form.FormError
|
|
250
|
-
// show={
|
|
251
|
-
// !errors.password &&
|
|
252
|
-
// touched.password &&
|
|
253
|
-
// passwordStrengthMeter(values.password) !== 5
|
|
254
|
-
// }
|
|
255
|
-
, {
|
|
248
|
+
}, errors.password), /*#__PURE__*/_react.default.createElement(_Form.FormError, {
|
|
256
249
|
show: !errors.password && touched.password && values.password.length <= 5
|
|
257
250
|
}, "The password must be at least 6 characters long"))), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
258
251
|
noPaddingBottom: true,
|
|
@@ -100,6 +100,8 @@ var RenderErrorModal = function RenderErrorModal(props) {
|
|
|
100
100
|
email: userEmail || ''
|
|
101
101
|
},
|
|
102
102
|
validationSchema: validationSchema,
|
|
103
|
+
validateOnBlur: true,
|
|
104
|
+
validateOnChange: true,
|
|
103
105
|
onSubmit: function onSubmit(values) {
|
|
104
106
|
startCooldown();
|
|
105
107
|
onResend(values);
|
|
@@ -109,14 +111,8 @@ var RenderErrorModal = function RenderErrorModal(props) {
|
|
|
109
111
|
errors = _ref2.errors,
|
|
110
112
|
touched = _ref2.touched,
|
|
111
113
|
handleBlur = _ref2.handleBlur,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
var onChangeWithTouch = function onChangeWithTouch(e) {
|
|
115
|
-
var field = e.target;
|
|
116
|
-
setFieldValue(field.name, field.value, false);
|
|
117
|
-
setFieldTouched(field.name);
|
|
118
|
-
};
|
|
119
|
-
var submitDisabled = !touched.email || !!errors.email || isDisabled || isActionLoading === 'resend';
|
|
114
|
+
handleChange = _ref2.handleChange;
|
|
115
|
+
var submitDisabled = !values.email || !!errors.email || isDisabled || isActionLoading === 'resend';
|
|
120
116
|
return /*#__PURE__*/_react.default.createElement(_Form2.default, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
121
117
|
noPadding: true
|
|
122
118
|
}, /*#__PURE__*/_react.default.createElement(_Form.FormField, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
@@ -125,7 +121,7 @@ var RenderErrorModal = function RenderErrorModal(props) {
|
|
|
125
121
|
type: "email",
|
|
126
122
|
label: "Your email",
|
|
127
123
|
value: values.email,
|
|
128
|
-
onChange:
|
|
124
|
+
onChange: handleChange,
|
|
129
125
|
onBlur: handleBlur,
|
|
130
126
|
error: !!errors.email,
|
|
131
127
|
touched: !!touched.email
|
|
@@ -135,9 +131,7 @@ var RenderErrorModal = function RenderErrorModal(props) {
|
|
|
135
131
|
noPaddingBottom: true,
|
|
136
132
|
noPaddingHorizontal: true
|
|
137
133
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
138
|
-
type: "submit"
|
|
139
|
-
//fluid
|
|
140
|
-
,
|
|
134
|
+
type: "submit",
|
|
141
135
|
disabled: submitDisabled
|
|
142
136
|
}, isActionLoading === 'resend' ? 'Resending email' : 'Resend email')), /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
|
|
143
137
|
paddingVeticalHalf: true,
|
|
@@ -646,6 +646,12 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
646
646
|
_this2.clearPopupError();
|
|
647
647
|
_this2.clearPopupSuccess();
|
|
648
648
|
_this2.setIsActionLoading(undefined);
|
|
649
|
+
|
|
650
|
+
// if we are in the expired token reset flow, we
|
|
651
|
+
// also need to close the reset password modal
|
|
652
|
+
if (isResettingExpiredToken) {
|
|
653
|
+
_this2.setOpenModalStatus('resetPassword', false);
|
|
654
|
+
}
|
|
649
655
|
},
|
|
650
656
|
onModalSwitch: function onModalSwitch() {
|
|
651
657
|
_this2.switchOpenModal('forgot', 'login');
|
|
@@ -699,6 +705,11 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
699
705
|
popupError: this.state.popupError,
|
|
700
706
|
isModalOpen: isModalOpen.resetPassword,
|
|
701
707
|
onModalClose: function onModalClose() {
|
|
708
|
+
// clean up URL params
|
|
709
|
+
var url = new URL(window.location);
|
|
710
|
+
url.searchParams.delete('oobCode');
|
|
711
|
+
url.searchParams.delete('mode');
|
|
712
|
+
window.history.replaceState({}, '', url.toString());
|
|
702
713
|
_this2.setOpenModalStatus('resetPassword', false);
|
|
703
714
|
_this2.clearPopupError();
|
|
704
715
|
_this2.setIsActionLoading(undefined);
|
|
@@ -743,7 +754,7 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
743
754
|
};
|
|
744
755
|
}(),
|
|
745
756
|
onLoad: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
746
|
-
var location, query, oobCode;
|
|
757
|
+
var location, query, oobCode, url;
|
|
747
758
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
748
759
|
while (1) switch (_context7.prev = _context7.next) {
|
|
749
760
|
case 0:
|
|
@@ -773,11 +784,17 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
773
784
|
});
|
|
774
785
|
});
|
|
775
786
|
|
|
787
|
+
// before switching to Forgot Password modal, we need to clean up
|
|
788
|
+
// the URL parameters that keep the reset password modal open.
|
|
789
|
+
url = new URL(window.location);
|
|
790
|
+
url.searchParams.delete('oobCode');
|
|
791
|
+
url.searchParams.delete('mode');
|
|
792
|
+
window.history.replaceState({}, '', url.toString());
|
|
793
|
+
|
|
776
794
|
// we use a special version of Forgot Password modal
|
|
777
795
|
// adjusted to handle and resend expired tokens.
|
|
778
796
|
// isResettingExpiredToken makes it adjust.
|
|
779
797
|
_this2.switchOpenModal('resetPassword', 'forgot');
|
|
780
|
-
_this2.setPopupError('forgot', 'This password reset link has expired or is invalid. Please request a new one.');
|
|
781
798
|
} else {
|
|
782
799
|
_this2.setPopupError('resetPassword', 'Something went wrong with the password reset link. Please try again.');
|
|
783
800
|
}
|