@stokr/components-library 2.3.41-beta.17 → 2.3.41-beta.18
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.
|
@@ -92,7 +92,8 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
92
92
|
},
|
|
93
93
|
isActionLoading: undefined,
|
|
94
94
|
termsData: undefined,
|
|
95
|
-
isPasswordResetLinkExpired: false
|
|
95
|
+
isPasswordResetLinkExpired: false,
|
|
96
|
+
tokenCheckComplete: false
|
|
96
97
|
});
|
|
97
98
|
_defineProperty(_assertThisInitialized(_this), "componentDidMount", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
98
99
|
var _this$props, isResetPassword, urlParams, oobCode, tokenStatus;
|
|
@@ -101,44 +102,69 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
101
102
|
case 0:
|
|
102
103
|
_this$props = _this.props, isResetPassword = _this$props.isResetPassword, urlParams = _this$props.urlParams; // check if reset password modal and extract oobCode from URL params
|
|
103
104
|
if (!isResetPassword) {
|
|
104
|
-
_context.next =
|
|
105
|
+
_context.next = 22;
|
|
105
106
|
break;
|
|
106
107
|
}
|
|
108
|
+
console.log('ifResetPassword running');
|
|
107
109
|
oobCode = urlParams === null || urlParams === void 0 ? void 0 : urlParams.getUrlParam('oobCode');
|
|
108
110
|
if (!(oobCode && oobCode !== '')) {
|
|
109
|
-
_context.next =
|
|
111
|
+
_context.next = 19;
|
|
110
112
|
break;
|
|
111
113
|
}
|
|
112
|
-
|
|
113
|
-
_context.
|
|
114
|
+
console.log('ifOobCode running');
|
|
115
|
+
_context.prev = 6;
|
|
116
|
+
_context.next = 9;
|
|
114
117
|
return _this.checkTokenExpiration();
|
|
115
|
-
case
|
|
118
|
+
case 9:
|
|
116
119
|
tokenStatus = _context.sent;
|
|
117
120
|
_this.setState(function (prevState) {
|
|
118
121
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
119
|
-
isPasswordResetLinkExpired:
|
|
122
|
+
isPasswordResetLinkExpired: false,
|
|
123
|
+
tokenCheckComplete: true
|
|
120
124
|
});
|
|
121
125
|
});
|
|
122
|
-
_context.next =
|
|
126
|
+
_context.next = 17;
|
|
123
127
|
break;
|
|
124
|
-
case
|
|
125
|
-
_context.prev =
|
|
126
|
-
_context.t0 = _context["catch"](
|
|
128
|
+
case 13:
|
|
129
|
+
_context.prev = 13;
|
|
130
|
+
_context.t0 = _context["catch"](6);
|
|
127
131
|
console.error('Error checking token expiration in componentDidMount:', _context.t0);
|
|
128
132
|
// if there's an error checking the token, assume it's expired
|
|
129
133
|
_this.setState(function (prevState) {
|
|
130
134
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
131
|
-
isPasswordResetLinkExpired: true
|
|
135
|
+
isPasswordResetLinkExpired: true,
|
|
136
|
+
tokenCheckComplete: true
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
case 17:
|
|
140
|
+
_context.next = 20;
|
|
141
|
+
break;
|
|
142
|
+
case 19:
|
|
143
|
+
// No oobCode means expired/invalid
|
|
144
|
+
_this.setState(function (prevState) {
|
|
145
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
146
|
+
isPasswordResetLinkExpired: true,
|
|
147
|
+
tokenCheckComplete: true
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
case 20:
|
|
151
|
+
_context.next = 23;
|
|
152
|
+
break;
|
|
153
|
+
case 22:
|
|
154
|
+
// Not a reset password flow
|
|
155
|
+
_this.setState(function (prevState) {
|
|
156
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
157
|
+
tokenCheckComplete: true
|
|
132
158
|
});
|
|
133
159
|
});
|
|
134
|
-
case
|
|
160
|
+
case 23:
|
|
135
161
|
case "end":
|
|
136
162
|
return _context.stop();
|
|
137
163
|
}
|
|
138
|
-
}, _callee, null, [[
|
|
164
|
+
}, _callee, null, [[6, 13]]);
|
|
139
165
|
})));
|
|
140
166
|
_defineProperty(_assertThisInitialized(_this), "checkTokenExpiration", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
141
|
-
var urlParams, oobCode, result;
|
|
167
|
+
var urlParams, oobCode, result, _error$message;
|
|
142
168
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
143
169
|
while (1) switch (_context2.prev = _context2.next) {
|
|
144
170
|
case 0:
|
|
@@ -170,39 +196,56 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
170
196
|
_context2.prev = 13;
|
|
171
197
|
_context2.t0 = _context2["catch"](3);
|
|
172
198
|
console.error('Error checking token expiration:', _context2.t0);
|
|
199
|
+
|
|
200
|
+
// Check for specific error codes that indicate invalid/expired token
|
|
201
|
+
if (!(_context2.t0 !== null && _context2.t0 !== void 0 && (_error$message = _context2.t0.message) !== null && _error$message !== void 0 && _error$message.includes('INVALID_OOB_CODE') || (_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code) === 'auth/invalid-action-code' || (_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code) === 'auth/expired-action-code')) {
|
|
202
|
+
_context2.next = 18;
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
173
205
|
return _context2.abrupt("return", {
|
|
174
206
|
expired: true
|
|
175
207
|
});
|
|
176
|
-
case
|
|
208
|
+
case 18:
|
|
209
|
+
return _context2.abrupt("return", {
|
|
210
|
+
expired: true
|
|
211
|
+
});
|
|
212
|
+
case 19:
|
|
177
213
|
case "end":
|
|
178
214
|
return _context2.stop();
|
|
179
215
|
}
|
|
180
216
|
}, _callee2, null, [[3, 13]]);
|
|
181
217
|
})));
|
|
182
218
|
_defineProperty(_assertThisInitialized(_this), "checkForModals", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
183
|
-
var _this$props2, isLogin, isSignUp, isResetPassword, isVerifyEmail, user, _this$state, isModalOpen, isPasswordResetLinkExpired, login, signUp, resetPassword, verifyEmail, isAnyModalOpen;
|
|
219
|
+
var _this$props2, isLogin, isSignUp, isResetPassword, isVerifyEmail, user, _this$state, isModalOpen, isPasswordResetLinkExpired, tokenCheckComplete, login, signUp, resetPassword, verifyEmail, forgot, isAnyModalOpen;
|
|
184
220
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
185
221
|
while (1) switch (_context3.prev = _context3.next) {
|
|
186
222
|
case 0:
|
|
187
223
|
_this$props2 = _this.props, isLogin = _this$props2.isLogin, isSignUp = _this$props2.isSignUp, isResetPassword = _this$props2.isResetPassword, isVerifyEmail = _this$props2.isVerifyEmail;
|
|
188
224
|
user = _this.context.user;
|
|
189
|
-
_this$state = _this.state, isModalOpen = _this$state.isModalOpen, isPasswordResetLinkExpired = _this$state.isPasswordResetLinkExpired;
|
|
190
|
-
login = isModalOpen.login, signUp = isModalOpen.signUp, resetPassword = isModalOpen.resetPassword, verifyEmail = isModalOpen.verifyEmail; //
|
|
225
|
+
_this$state = _this.state, isModalOpen = _this$state.isModalOpen, isPasswordResetLinkExpired = _this$state.isPasswordResetLinkExpired, tokenCheckComplete = _this$state.tokenCheckComplete;
|
|
226
|
+
login = isModalOpen.login, signUp = isModalOpen.signUp, resetPassword = isModalOpen.resetPassword, verifyEmail = isModalOpen.verifyEmail, forgot = isModalOpen.forgot; // token check needs to complete first
|
|
227
|
+
if (tokenCheckComplete) {
|
|
228
|
+
_context3.next = 6;
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
return _context3.abrupt("return");
|
|
232
|
+
case 6:
|
|
233
|
+
//checks if any modal is open
|
|
191
234
|
//if true we won't open any modal from below
|
|
192
235
|
isAnyModalOpen = Object.values(isModalOpen).some(function (value) {
|
|
193
236
|
return value === true;
|
|
194
237
|
});
|
|
195
238
|
if (!isAnyModalOpen) {
|
|
196
|
-
_context3.next =
|
|
239
|
+
_context3.next = 9;
|
|
197
240
|
break;
|
|
198
241
|
}
|
|
199
242
|
return _context3.abrupt("return");
|
|
200
|
-
case
|
|
243
|
+
case 9:
|
|
201
244
|
//dont open if modal is already open or user is logged in
|
|
202
245
|
if (isLogin && !user && !login) {
|
|
203
246
|
_this.setState(function (prevState) {
|
|
204
247
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
205
|
-
isModalOpen: _objectSpread(_objectSpread({}, isModalOpen), {}, {
|
|
248
|
+
isModalOpen: _objectSpread(_objectSpread({}, prevState.isModalOpen), {}, {
|
|
206
249
|
login: true
|
|
207
250
|
})
|
|
208
251
|
});
|
|
@@ -211,27 +254,34 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
211
254
|
if (isSignUp && !user && !signUp) {
|
|
212
255
|
_this.setState(function (prevState) {
|
|
213
256
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
214
|
-
isModalOpen: _objectSpread(_objectSpread({}, isModalOpen), {}, {
|
|
257
|
+
isModalOpen: _objectSpread(_objectSpread({}, prevState.isModalOpen), {}, {
|
|
215
258
|
signUp: true
|
|
216
259
|
})
|
|
217
260
|
});
|
|
218
261
|
});
|
|
219
262
|
}
|
|
220
|
-
if (isResetPassword && !user && !resetPassword) {
|
|
263
|
+
if (isResetPassword && !user && !resetPassword && !forgot) {
|
|
221
264
|
if (isPasswordResetLinkExpired) {
|
|
222
|
-
// open
|
|
265
|
+
// open forgot password modal if token is expired/invalid
|
|
266
|
+
console.log('Opening forgot password modal - token expired/invalid');
|
|
223
267
|
_this.setState(function (prevState) {
|
|
224
268
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
225
|
-
isModalOpen: _objectSpread(_objectSpread({}, isModalOpen), {}, {
|
|
269
|
+
isModalOpen: _objectSpread(_objectSpread({}, prevState.isModalOpen), {}, {
|
|
226
270
|
forgot: true
|
|
227
|
-
})
|
|
271
|
+
}),
|
|
272
|
+
popupError: {
|
|
273
|
+
popup: 'forgot',
|
|
274
|
+
message: 'This password reset link has expired or is invalid. Please request a new one.',
|
|
275
|
+
field: undefined
|
|
276
|
+
}
|
|
228
277
|
});
|
|
229
278
|
});
|
|
230
279
|
} else {
|
|
231
280
|
// open usual reset password modal if token is valid
|
|
281
|
+
console.log('Opening reset password modal - token valid');
|
|
232
282
|
_this.setState(function (prevState) {
|
|
233
283
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
234
|
-
isModalOpen: _objectSpread(_objectSpread({}, isModalOpen), {}, {
|
|
284
|
+
isModalOpen: _objectSpread(_objectSpread({}, prevState.isModalOpen), {}, {
|
|
235
285
|
resetPassword: true
|
|
236
286
|
})
|
|
237
287
|
});
|
|
@@ -241,13 +291,13 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
241
291
|
if (isVerifyEmail && !verifyEmail) {
|
|
242
292
|
_this.setState(function (prevState) {
|
|
243
293
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
244
|
-
isModalOpen: _objectSpread(_objectSpread({}, isModalOpen), {}, {
|
|
294
|
+
isModalOpen: _objectSpread(_objectSpread({}, prevState.isModalOpen), {}, {
|
|
245
295
|
verifyEmail: true
|
|
246
296
|
})
|
|
247
297
|
});
|
|
248
298
|
});
|
|
249
299
|
}
|
|
250
|
-
case
|
|
300
|
+
case 13:
|
|
251
301
|
case "end":
|
|
252
302
|
return _context3.stop();
|
|
253
303
|
}
|
|
@@ -265,7 +315,7 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
265
315
|
window.history.pushState('', '', modalId === 'login' ? '/login' : modalId === 'signUp' ? '/signup' : '/');
|
|
266
316
|
|
|
267
317
|
//when we close login or signup or reset password modal, we want to remove modal url
|
|
268
|
-
if ((modalId === 'login' || modalId === 'signUp' || modalId === 'resetPassword' || modalId === 'verifyEmail') && !status) {
|
|
318
|
+
if ((modalId === 'login' || modalId === 'signUp' || modalId === 'resetPassword' || modalId === 'verifyEmail' || modalId === 'forgot') && !status) {
|
|
269
319
|
navigate('/');
|
|
270
320
|
}
|
|
271
321
|
}
|
|
@@ -373,8 +423,8 @@ var HeaderHoClass = /*#__PURE__*/function (_Component) {
|
|
|
373
423
|
this.props.navigate(0);
|
|
374
424
|
}
|
|
375
425
|
|
|
376
|
-
// Run after page loaded
|
|
377
|
-
if (!isFetchingUser) {
|
|
426
|
+
// Run after page loaded AND token check is complete
|
|
427
|
+
if (!isFetchingUser && this.state.tokenCheckComplete) {
|
|
378
428
|
this.checkForModals();
|
|
379
429
|
}
|
|
380
430
|
}
|