powr-sdk-web 5.3.1 → 5.3.2
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/powrVerify/index.js +129 -31
- package/dist/utils/firebase.js +8 -8
- package/package.json +1 -1
package/dist/powrVerify/index.js
CHANGED
|
@@ -28,7 +28,9 @@ var PowrVerify = function PowrVerify(_ref) {
|
|
|
28
28
|
_ref$defaultCountryCo = _ref.defaultCountryCode,
|
|
29
29
|
defaultCountryCode = _ref$defaultCountryCo === void 0 ? '91' : _ref$defaultCountryCo,
|
|
30
30
|
_ref$appName = _ref.appName,
|
|
31
|
-
appName = _ref$appName === void 0 ? 'App' : _ref$appName
|
|
31
|
+
appName = _ref$appName === void 0 ? 'App' : _ref$appName,
|
|
32
|
+
_ref$projectId = _ref.projectId,
|
|
33
|
+
projectId = _ref$projectId === void 0 ? undefined : _ref$projectId;
|
|
32
34
|
var _useState = (0, _react.useState)(''),
|
|
33
35
|
_useState2 = _slicedToArray(_useState, 2),
|
|
34
36
|
phone = _useState2[0],
|
|
@@ -57,6 +59,10 @@ var PowrVerify = function PowrVerify(_ref) {
|
|
|
57
59
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
58
60
|
success = _useState12[0],
|
|
59
61
|
setSuccess = _useState12[1];
|
|
62
|
+
var _useState13 = (0, _react.useState)(0),
|
|
63
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
64
|
+
resendTimer = _useState14[0],
|
|
65
|
+
setResendTimer = _useState14[1];
|
|
60
66
|
var formatPhone = function formatPhone(p) {
|
|
61
67
|
var clean = (p || '').replace(/\D/g, '');
|
|
62
68
|
if (!clean) return '';
|
|
@@ -118,6 +124,7 @@ var PowrVerify = function PowrVerify(_ref) {
|
|
|
118
124
|
setConfirmationResult(confirmation);
|
|
119
125
|
setOtpSent(true);
|
|
120
126
|
setSuccess('OTP sent to ' + phoneNumber);
|
|
127
|
+
setResendTimer(60);
|
|
121
128
|
_context.n = 9;
|
|
122
129
|
break;
|
|
123
130
|
case 8:
|
|
@@ -180,8 +187,17 @@ var PowrVerify = function PowrVerify(_ref) {
|
|
|
180
187
|
setOtpSent(false);
|
|
181
188
|
setConfirmationResult(null);
|
|
182
189
|
clearRecaptcha();
|
|
190
|
+
setResendTimer(0);
|
|
183
191
|
if (typeof onVerified === 'function') {
|
|
184
|
-
|
|
192
|
+
// Pass token and projectId. Keep backward compatibility by
|
|
193
|
+
// allowing consumers to accept a single token arg.
|
|
194
|
+
try {
|
|
195
|
+
onVerified(token, projectId);
|
|
196
|
+
} catch (e) {
|
|
197
|
+
try {
|
|
198
|
+
onVerified(token);
|
|
199
|
+
} catch (_) {/* ignore */}
|
|
200
|
+
}
|
|
185
201
|
}
|
|
186
202
|
_context2.n = 10;
|
|
187
203
|
break;
|
|
@@ -203,70 +219,100 @@ var PowrVerify = function PowrVerify(_ref) {
|
|
|
203
219
|
return _ref3.apply(this, arguments);
|
|
204
220
|
};
|
|
205
221
|
}();
|
|
222
|
+
(0, _react.useEffect)(function () {
|
|
223
|
+
if (resendTimer <= 0) return;
|
|
224
|
+
var id = setInterval(function () {
|
|
225
|
+
setResendTimer(function (t) {
|
|
226
|
+
if (t <= 1) {
|
|
227
|
+
clearInterval(id);
|
|
228
|
+
return 0;
|
|
229
|
+
}
|
|
230
|
+
return t - 1;
|
|
231
|
+
});
|
|
232
|
+
}, 1000);
|
|
233
|
+
return function () {
|
|
234
|
+
return clearInterval(id);
|
|
235
|
+
};
|
|
236
|
+
}, [resendTimer]);
|
|
206
237
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
207
238
|
style: containerStyle
|
|
208
239
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
209
240
|
style: cardStyle
|
|
241
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
242
|
+
style: headerRowStyle
|
|
210
243
|
}, /*#__PURE__*/_react["default"].createElement("h2", {
|
|
211
244
|
style: {
|
|
212
|
-
margin: 0
|
|
213
|
-
marginBottom: 12
|
|
245
|
+
margin: 0
|
|
214
246
|
}
|
|
215
|
-
}, appName
|
|
247
|
+
}, appName), /*#__PURE__*/_react["default"].createElement("div", {
|
|
248
|
+
style: pillStyle
|
|
249
|
+
}, "Phone Verification")), /*#__PURE__*/_react["default"].createElement("p", {
|
|
216
250
|
style: {
|
|
217
|
-
marginTop:
|
|
218
|
-
marginBottom:
|
|
219
|
-
color: '#
|
|
251
|
+
marginTop: 8,
|
|
252
|
+
marginBottom: 14,
|
|
253
|
+
color: '#6b7280'
|
|
220
254
|
}
|
|
221
|
-
}, "
|
|
255
|
+
}, "Tell us your phone and we'll send a one-time code."), /*#__PURE__*/_react["default"].createElement("label", {
|
|
222
256
|
style: labelStyle
|
|
223
|
-
}, "Phone number"), /*#__PURE__*/_react["default"].createElement("
|
|
257
|
+
}, "Phone number"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
258
|
+
style: phoneRowStyle
|
|
259
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
260
|
+
style: prefixBox
|
|
261
|
+
}, defaultCountryCode), /*#__PURE__*/_react["default"].createElement("input", {
|
|
224
262
|
type: "text",
|
|
225
263
|
value: phone,
|
|
226
264
|
onChange: function onChange(e) {
|
|
227
|
-
return setPhone(e.target.value);
|
|
265
|
+
return setPhone((e.target.value || '').replace(/\D/g, '').slice(0, 10));
|
|
228
266
|
},
|
|
229
|
-
placeholder: "
|
|
230
|
-
style:
|
|
267
|
+
placeholder: "0000000000",
|
|
268
|
+
style: inputFlexStyle,
|
|
231
269
|
disabled: otpSent
|
|
232
|
-
}), !otpSent && /*#__PURE__*/_react["default"].createElement("button", {
|
|
270
|
+
})), !otpSent && /*#__PURE__*/_react["default"].createElement("button", {
|
|
233
271
|
onClick: sendOtp,
|
|
234
272
|
style: buttonStyle,
|
|
235
|
-
disabled: loading
|
|
273
|
+
disabled: loading || phone.replace(/\D/g, '').length < 10
|
|
236
274
|
}, loading ? 'Sending...' : 'Send OTP'), otpSent && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
237
275
|
style: _objectSpread(_objectSpread({}, labelStyle), {}, {
|
|
238
276
|
marginTop: 12
|
|
239
277
|
})
|
|
240
|
-
}, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("
|
|
278
|
+
}, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
279
|
+
style: phoneRowStyle
|
|
280
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
241
281
|
type: "text",
|
|
242
282
|
value: otp,
|
|
243
283
|
onChange: function onChange(e) {
|
|
244
|
-
return setOtp(e.target.value);
|
|
284
|
+
return setOtp((e.target.value || '').replace(/\D/g, '').slice(0, 6));
|
|
245
285
|
},
|
|
246
286
|
placeholder: "6-digit code",
|
|
247
|
-
style:
|
|
248
|
-
maxLength: 6
|
|
249
|
-
|
|
287
|
+
style: inputFlexStyle,
|
|
288
|
+
maxLength: 6,
|
|
289
|
+
autoFocus: true
|
|
290
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
291
|
+
onClick: verifyOtp,
|
|
292
|
+
style: _objectSpread({}, buttonSmallStyle),
|
|
293
|
+
disabled: loading || otp.length !== 6
|
|
294
|
+
}, loading ? 'Verifying...' : 'Verify')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
250
295
|
style: {
|
|
251
296
|
display: 'flex',
|
|
252
|
-
gap: 8
|
|
297
|
+
gap: 8,
|
|
298
|
+
marginTop: 10
|
|
253
299
|
}
|
|
254
300
|
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
255
|
-
onClick: verifyOtp,
|
|
256
|
-
style: _objectSpread(_objectSpread({}, buttonStyle), {}, {
|
|
257
|
-
flex: 1
|
|
258
|
-
}),
|
|
259
|
-
disabled: loading || otp.length < 4
|
|
260
|
-
}, loading ? 'Verifying...' : 'Verify OTP'), /*#__PURE__*/_react["default"].createElement("button", {
|
|
261
301
|
onClick: function onClick() {
|
|
262
302
|
setOtpSent(false);
|
|
263
303
|
setConfirmationResult(null);
|
|
264
304
|
clearRecaptcha();
|
|
265
305
|
setOtp('');
|
|
306
|
+
setSuccess('');
|
|
307
|
+
setError('');
|
|
266
308
|
},
|
|
267
309
|
style: _objectSpread({}, secondaryButtonStyle),
|
|
268
310
|
disabled: loading
|
|
269
|
-
}, "Cancel")
|
|
311
|
+
}, "Cancel"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
312
|
+
onClick: sendOtp,
|
|
313
|
+
style: _objectSpread({}, tertiaryButtonStyle),
|
|
314
|
+
disabled: resendTimer > 0 || loading
|
|
315
|
+
}, resendTimer > 0 ? "Resend in ".concat(resendTimer, "s") : 'Resend OTP'))), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
270
316
|
style: errorStyle
|
|
271
317
|
}, error), success && /*#__PURE__*/_react["default"].createElement("div", {
|
|
272
318
|
style: successStyle
|
|
@@ -287,6 +333,40 @@ var cardStyle = {
|
|
|
287
333
|
boxShadow: '0 6px 18px rgba(0,0,0,0.08)',
|
|
288
334
|
background: 'white'
|
|
289
335
|
};
|
|
336
|
+
var headerRowStyle = {
|
|
337
|
+
display: 'flex',
|
|
338
|
+
justifyContent: 'space-between',
|
|
339
|
+
alignItems: 'center'
|
|
340
|
+
};
|
|
341
|
+
var pillStyle = {
|
|
342
|
+
background: '#ffedd5',
|
|
343
|
+
color: '#7c2d12',
|
|
344
|
+
padding: '6px 10px',
|
|
345
|
+
borderRadius: 20,
|
|
346
|
+
fontSize: 12,
|
|
347
|
+
fontWeight: 700
|
|
348
|
+
};
|
|
349
|
+
var phoneRowStyle = {
|
|
350
|
+
display: 'flex',
|
|
351
|
+
gap: 8,
|
|
352
|
+
alignItems: 'center',
|
|
353
|
+
width: '100%'
|
|
354
|
+
};
|
|
355
|
+
var prefixBox = {
|
|
356
|
+
background: '#fff7ed',
|
|
357
|
+
color: '#7c2d12',
|
|
358
|
+
padding: '10px 12px',
|
|
359
|
+
borderRadius: 8,
|
|
360
|
+
fontWeight: 700,
|
|
361
|
+
border: '1px solid #ffedd5'
|
|
362
|
+
};
|
|
363
|
+
var inputFlexStyle = {
|
|
364
|
+
flex: 1,
|
|
365
|
+
padding: 10,
|
|
366
|
+
borderRadius: 8,
|
|
367
|
+
border: '1px solid #e5e7eb',
|
|
368
|
+
boxSizing: 'border-box'
|
|
369
|
+
};
|
|
290
370
|
var labelStyle = {
|
|
291
371
|
fontSize: 13,
|
|
292
372
|
fontWeight: 600,
|
|
@@ -308,8 +388,26 @@ var buttonStyle = {
|
|
|
308
388
|
border: 'none',
|
|
309
389
|
borderRadius: 8,
|
|
310
390
|
cursor: 'pointer',
|
|
311
|
-
fontWeight:
|
|
312
|
-
|
|
391
|
+
fontWeight: 700,
|
|
392
|
+
marginTop: 8
|
|
393
|
+
};
|
|
394
|
+
var buttonSmallStyle = {
|
|
395
|
+
padding: '10px 14px',
|
|
396
|
+
background: '#ff6b35',
|
|
397
|
+
color: 'white',
|
|
398
|
+
border: 'none',
|
|
399
|
+
borderRadius: 8,
|
|
400
|
+
cursor: 'pointer',
|
|
401
|
+
fontWeight: 700
|
|
402
|
+
};
|
|
403
|
+
var tertiaryButtonStyle = {
|
|
404
|
+
padding: 12,
|
|
405
|
+
background: '#fff7ed',
|
|
406
|
+
color: '#7c2d12',
|
|
407
|
+
border: 'none',
|
|
408
|
+
borderRadius: 8,
|
|
409
|
+
cursor: 'pointer',
|
|
410
|
+
fontWeight: 700
|
|
313
411
|
};
|
|
314
412
|
var secondaryButtonStyle = {
|
|
315
413
|
padding: 12,
|
|
@@ -318,7 +416,7 @@ var secondaryButtonStyle = {
|
|
|
318
416
|
border: 'none',
|
|
319
417
|
borderRadius: 8,
|
|
320
418
|
cursor: 'pointer',
|
|
321
|
-
fontWeight:
|
|
419
|
+
fontWeight: 700
|
|
322
420
|
};
|
|
323
421
|
var errorStyle = {
|
|
324
422
|
marginTop: 8,
|
package/dist/utils/firebase.js
CHANGED
|
@@ -45,14 +45,14 @@ function _asyncToGenerator(n) { return function () { var t = this, e = arguments
|
|
|
45
45
|
// };
|
|
46
46
|
|
|
47
47
|
var firebaseConfig = {
|
|
48
|
-
apiKey: process.env.REACT_APP_FIREBASE_API_KEY || "
|
|
49
|
-
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN || "
|
|
50
|
-
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID || "
|
|
51
|
-
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET || "
|
|
52
|
-
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID || "
|
|
53
|
-
appId: process.env.REACT_APP_FIREBASE_APP_ID || "1:
|
|
54
|
-
measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID || "G-
|
|
55
|
-
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL ||
|
|
48
|
+
apiKey: process.env.REACT_APP_FIREBASE_API_KEY || "AIzaSyAYsrxbOH6-qHvaDVa_JBf52lFzfriJzf8",
|
|
49
|
+
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN || "powrapp-f19f4.firebaseapp.com",
|
|
50
|
+
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID || "powrapp-f19f4",
|
|
51
|
+
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET || "powrapp-f19f4.firebasestorage.app",
|
|
52
|
+
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID || "594348480000",
|
|
53
|
+
appId: process.env.REACT_APP_FIREBASE_APP_ID || "1:594348480000:web:c8dfee7db251523b99aae5",
|
|
54
|
+
measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID || "G-VGMYP6B1QL",
|
|
55
|
+
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL || undefined
|
|
56
56
|
};
|
|
57
57
|
var app = exports.app = (0, _app.initializeApp)(firebaseConfig);
|
|
58
58
|
var functions = exports.functions = (0, _functions.getFunctions)(app);
|