powr-sdk-web 5.0.0 → 5.3.0
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/auth/index.js +28 -237
- package/dist/index.js +7 -0
- package/dist/powrVerify/index.js +337 -0
- package/dist/utils/firebase.js +17 -6
- package/package.json +1 -1
package/dist/auth/index.js
CHANGED
|
@@ -7,7 +7,7 @@ exports["default"] = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _auth = require("../utils/auth");
|
|
9
9
|
var _firebase = require("../utils/firebase");
|
|
10
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t7 in e) "default" !== _t7 && {}.hasOwnProperty.call(e, _t7) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t7)) && (i.get || i.set) ? o(f, _t7, i) : f[_t7] = e[_t7]); return f; })(e, t); }
|
|
11
11
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
12
12
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
13
13
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
@@ -32,9 +32,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
32
32
|
appLogo = _ref.appLogo,
|
|
33
33
|
_ref$mode = _ref.mode,
|
|
34
34
|
mode = _ref$mode === void 0 ? 'toggle' : _ref$mode,
|
|
35
|
-
projectId = _ref.projectId
|
|
36
|
-
_ref$enableOtpLogin = _ref.enableOtpLogin,
|
|
37
|
-
enableOtpLogin = _ref$enableOtpLogin === void 0 ? false : _ref$enableOtpLogin;
|
|
35
|
+
projectId = _ref.projectId;
|
|
38
36
|
var _useState = (0, _react.useState)(function () {
|
|
39
37
|
switch (mode) {
|
|
40
38
|
case 'login':
|
|
@@ -109,39 +107,22 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
109
107
|
_useState24 = _slicedToArray(_useState23, 2),
|
|
110
108
|
otp = _useState24[0],
|
|
111
109
|
setOtp = _useState24[1];
|
|
112
|
-
// server OTP flow for login
|
|
113
110
|
var _useState25 = (0, _react.useState)(false),
|
|
114
111
|
_useState26 = _slicedToArray(_useState25, 2),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
var _useState27 = (0, _react.useState)(
|
|
112
|
+
firebaseOtpSent = _useState26[0],
|
|
113
|
+
setFirebaseOtpSent = _useState26[1];
|
|
114
|
+
var _useState27 = (0, _react.useState)(null),
|
|
118
115
|
_useState28 = _slicedToArray(_useState27, 2),
|
|
119
|
-
|
|
120
|
-
|
|
116
|
+
firebaseConfirm = _useState28[0],
|
|
117
|
+
setFirebaseConfirm = _useState28[1];
|
|
121
118
|
var _useState29 = (0, _react.useState)(false),
|
|
122
119
|
_useState30 = _slicedToArray(_useState29, 2),
|
|
123
|
-
|
|
124
|
-
|
|
120
|
+
showOtpModal = _useState30[0],
|
|
121
|
+
setShowOtpModal = _useState30[1];
|
|
125
122
|
var _useState31 = (0, _react.useState)(false),
|
|
126
123
|
_useState32 = _slicedToArray(_useState31, 2),
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
var _useState33 = (0, _react.useState)(false),
|
|
130
|
-
_useState34 = _slicedToArray(_useState33, 2),
|
|
131
|
-
firebaseOtpSent = _useState34[0],
|
|
132
|
-
setFirebaseOtpSent = _useState34[1];
|
|
133
|
-
var _useState35 = (0, _react.useState)(null),
|
|
134
|
-
_useState36 = _slicedToArray(_useState35, 2),
|
|
135
|
-
firebaseConfirm = _useState36[0],
|
|
136
|
-
setFirebaseConfirm = _useState36[1];
|
|
137
|
-
var _useState37 = (0, _react.useState)(false),
|
|
138
|
-
_useState38 = _slicedToArray(_useState37, 2),
|
|
139
|
-
showOtpModal = _useState38[0],
|
|
140
|
-
setShowOtpModal = _useState38[1];
|
|
141
|
-
var _useState39 = (0, _react.useState)(false),
|
|
142
|
-
_useState40 = _slicedToArray(_useState39, 2),
|
|
143
|
-
isPhoneVerified = _useState40[0],
|
|
144
|
-
setIsPhoneVerified = _useState40[1];
|
|
124
|
+
isPhoneVerified = _useState32[0],
|
|
125
|
+
setIsPhoneVerified = _useState32[1];
|
|
145
126
|
var shouldShowToggle = mode === 'toggle';
|
|
146
127
|
var handleInputChange = /*#__PURE__*/function () {
|
|
147
128
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
|
|
@@ -382,29 +363,6 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
382
363
|
errors.phoneOrEmail = 'Please enter a valid phone number';
|
|
383
364
|
}
|
|
384
365
|
}
|
|
385
|
-
|
|
386
|
-
// If user chose login via OTP, trigger OTP send instead of normal password login
|
|
387
|
-
if (!(isLogin && loginViaOtp)) {
|
|
388
|
-
_context4.n = 3;
|
|
389
|
-
break;
|
|
390
|
-
}
|
|
391
|
-
if (!formData.phoneOrEmail.trim()) {
|
|
392
|
-
errors.phoneOrEmail = 'Phone or email is required';
|
|
393
|
-
}
|
|
394
|
-
if (!(Object.keys(errors).length > 0)) {
|
|
395
|
-
_context4.n = 1;
|
|
396
|
-
break;
|
|
397
|
-
}
|
|
398
|
-
setFieldErrors(errors);
|
|
399
|
-
setLoading(false);
|
|
400
|
-
return _context4.a(2);
|
|
401
|
-
case 1:
|
|
402
|
-
_context4.n = 2;
|
|
403
|
-
return handleGetOtp();
|
|
404
|
-
case 2:
|
|
405
|
-
setLoading(false);
|
|
406
|
-
return _context4.a(2);
|
|
407
|
-
case 3:
|
|
408
366
|
if (!formData.password.trim()) {
|
|
409
367
|
errors.password = 'Password is required';
|
|
410
368
|
} else if (formData.password.length < 6) {
|
|
@@ -420,14 +378,14 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
420
378
|
errors.phoneOrEmail = 'Please verify your phone number first';
|
|
421
379
|
}
|
|
422
380
|
if (!(Object.keys(errors).length > 0)) {
|
|
423
|
-
_context4.n =
|
|
381
|
+
_context4.n = 1;
|
|
424
382
|
break;
|
|
425
383
|
}
|
|
426
384
|
setFieldErrors(errors);
|
|
427
385
|
setLoading(false);
|
|
428
386
|
return _context4.a(2);
|
|
429
|
-
case
|
|
430
|
-
_context4.p =
|
|
387
|
+
case 1:
|
|
388
|
+
_context4.p = 1;
|
|
431
389
|
endpoint = isLogin ? "/auth/login" : "/auth/register";
|
|
432
390
|
payload = isLogin ? {
|
|
433
391
|
phoneOrEmail: formData.phoneOrEmail,
|
|
@@ -437,12 +395,12 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
437
395
|
phoneOrEmail: formData.phoneOrEmail,
|
|
438
396
|
password: formData.password
|
|
439
397
|
};
|
|
440
|
-
_context4.n =
|
|
398
|
+
_context4.n = 2;
|
|
441
399
|
return (0, _auth.apiCall)(apiUrl, endpoint, projectId, {
|
|
442
400
|
method: 'POST',
|
|
443
401
|
body: payload
|
|
444
402
|
});
|
|
445
|
-
case
|
|
403
|
+
case 2:
|
|
446
404
|
_yield$apiCall = _context4.v;
|
|
447
405
|
data = _yield$apiCall.data;
|
|
448
406
|
ok = _yield$apiCall.ok;
|
|
@@ -478,20 +436,20 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
478
436
|
setError("".concat(isLogin ? 'Login' : 'Registration', " failed. Please try again."));
|
|
479
437
|
}
|
|
480
438
|
}
|
|
481
|
-
_context4.n =
|
|
439
|
+
_context4.n = 4;
|
|
482
440
|
break;
|
|
483
|
-
case
|
|
484
|
-
_context4.p =
|
|
441
|
+
case 3:
|
|
442
|
+
_context4.p = 3;
|
|
485
443
|
_t5 = _context4.v;
|
|
486
444
|
setError('Network error. Please try again.');
|
|
487
|
-
case
|
|
488
|
-
_context4.p =
|
|
445
|
+
case 4:
|
|
446
|
+
_context4.p = 4;
|
|
489
447
|
setLoading(false);
|
|
490
|
-
return _context4.f(
|
|
491
|
-
case
|
|
448
|
+
return _context4.f(4);
|
|
449
|
+
case 5:
|
|
492
450
|
return _context4.a(2);
|
|
493
451
|
}
|
|
494
|
-
}, _callee4, null, [[
|
|
452
|
+
}, _callee4, null, [[1, 3, 4, 5]]);
|
|
495
453
|
}));
|
|
496
454
|
return function handleSubmit(_x3) {
|
|
497
455
|
return _ref5.apply(this, arguments);
|
|
@@ -549,12 +507,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
549
507
|
if (ok) {
|
|
550
508
|
setOtpSent(true);
|
|
551
509
|
setSuccess('OTP sent successfully! Check your phone/email.');
|
|
552
|
-
|
|
553
|
-
if (isLogin && loginViaOtp) {
|
|
554
|
-
setShowServerOtpModal(true);
|
|
555
|
-
} else {
|
|
556
|
-
setShowOtpOption(false);
|
|
557
|
-
}
|
|
510
|
+
setShowOtpOption(false);
|
|
558
511
|
} else {
|
|
559
512
|
setError(data.message || 'Failed to send OTP. Please try again.');
|
|
560
513
|
}
|
|
@@ -577,73 +530,6 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
577
530
|
return _ref6.apply(this, arguments);
|
|
578
531
|
};
|
|
579
532
|
}();
|
|
580
|
-
|
|
581
|
-
// Verify OTP sent by server for login
|
|
582
|
-
var verifyServerOtp = /*#__PURE__*/function () {
|
|
583
|
-
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
|
|
584
|
-
var _yield$apiCall3, data, ok, _t7;
|
|
585
|
-
return _regenerator().w(function (_context6) {
|
|
586
|
-
while (1) switch (_context6.p = _context6.n) {
|
|
587
|
-
case 0:
|
|
588
|
-
if (!(!serverOtp || serverOtp.length < 4)) {
|
|
589
|
-
_context6.n = 1;
|
|
590
|
-
break;
|
|
591
|
-
}
|
|
592
|
-
setError('Please enter the OTP');
|
|
593
|
-
return _context6.a(2);
|
|
594
|
-
case 1:
|
|
595
|
-
setServerOtpLoading(true);
|
|
596
|
-
setError('');
|
|
597
|
-
_context6.p = 2;
|
|
598
|
-
_context6.n = 3;
|
|
599
|
-
return (0, _auth.apiCall)(apiUrl, "/auth/login", projectId, {
|
|
600
|
-
method: 'POST',
|
|
601
|
-
body: {
|
|
602
|
-
phoneOrEmail: formData.phoneOrEmail,
|
|
603
|
-
otp: serverOtp,
|
|
604
|
-
useOtp: true
|
|
605
|
-
}
|
|
606
|
-
});
|
|
607
|
-
case 3:
|
|
608
|
-
_yield$apiCall3 = _context6.v;
|
|
609
|
-
data = _yield$apiCall3.data;
|
|
610
|
-
ok = _yield$apiCall3.ok;
|
|
611
|
-
if (ok) {
|
|
612
|
-
setSuccess('Login successful!');
|
|
613
|
-
if (onLogin) onLogin(data);
|
|
614
|
-
// reset form
|
|
615
|
-
setFormData({
|
|
616
|
-
phoneOrEmail: '',
|
|
617
|
-
password: '',
|
|
618
|
-
confirmPassword: '',
|
|
619
|
-
fullName: ''
|
|
620
|
-
});
|
|
621
|
-
setServerOtp('');
|
|
622
|
-
setShowServerOtpModal(false);
|
|
623
|
-
setOtpSent(false);
|
|
624
|
-
setLoginViaOtp(false);
|
|
625
|
-
} else {
|
|
626
|
-
setError(data.message || data.error || 'OTP verification failed.');
|
|
627
|
-
}
|
|
628
|
-
_context6.n = 5;
|
|
629
|
-
break;
|
|
630
|
-
case 4:
|
|
631
|
-
_context6.p = 4;
|
|
632
|
-
_t7 = _context6.v;
|
|
633
|
-
setError('Network error. Please try again.');
|
|
634
|
-
case 5:
|
|
635
|
-
_context6.p = 5;
|
|
636
|
-
setServerOtpLoading(false);
|
|
637
|
-
return _context6.f(5);
|
|
638
|
-
case 6:
|
|
639
|
-
return _context6.a(2);
|
|
640
|
-
}
|
|
641
|
-
}, _callee6, null, [[2, 4, 5, 6]]);
|
|
642
|
-
}));
|
|
643
|
-
return function verifyServerOtp() {
|
|
644
|
-
return _ref7.apply(this, arguments);
|
|
645
|
-
};
|
|
646
|
-
}();
|
|
647
533
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
648
534
|
style: styles.container
|
|
649
535
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -722,38 +608,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
722
608
|
style: styles.successText
|
|
723
609
|
}, "Phone number verified successfully!"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
724
610
|
id: "recaptcha-container"
|
|
725
|
-
})),
|
|
726
|
-
style: _objectSpread(_objectSpread({}, styles.formGroup), {}, {
|
|
727
|
-
marginTop: '4px'
|
|
728
|
-
})
|
|
729
|
-
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
730
|
-
style: styles.label
|
|
731
|
-
}, "Sign in method"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
732
|
-
style: {
|
|
733
|
-
display: 'flex',
|
|
734
|
-
gap: '8px'
|
|
735
|
-
}
|
|
736
|
-
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
737
|
-
type: "button",
|
|
738
|
-
onClick: function onClick() {
|
|
739
|
-
return setLoginViaOtp(false);
|
|
740
|
-
},
|
|
741
|
-
style: _objectSpread(_objectSpread({}, styles.otpButton), {}, {
|
|
742
|
-
background: loginViaOtp ? '#e5e7eb' : '#ff6b35',
|
|
743
|
-
color: loginViaOtp ? '#374151' : '#fff',
|
|
744
|
-
flex: 1
|
|
745
|
-
})
|
|
746
|
-
}, "Password"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
747
|
-
type: "button",
|
|
748
|
-
onClick: function onClick() {
|
|
749
|
-
return setLoginViaOtp(true);
|
|
750
|
-
},
|
|
751
|
-
style: _objectSpread(_objectSpread({}, styles.otpButton), {}, {
|
|
752
|
-
background: loginViaOtp ? '#10b981' : '#e5e7eb',
|
|
753
|
-
color: loginViaOtp ? '#fff' : '#374151',
|
|
754
|
-
flex: 1
|
|
755
|
-
})
|
|
756
|
-
}, "OTP"))), !(isLogin && loginViaOtp) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
611
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
757
612
|
style: styles.formGroup
|
|
758
613
|
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
759
614
|
htmlFor: "password",
|
|
@@ -782,23 +637,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
782
637
|
style: styles.eyeIcon
|
|
783
638
|
}, "\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F"))), fieldErrors.password && /*#__PURE__*/_react["default"].createElement("div", {
|
|
784
639
|
style: styles.fieldError
|
|
785
|
-
}, fieldErrors.password)), isLogin &&
|
|
786
|
-
style: styles.formGroup
|
|
787
|
-
}, /*#__PURE__*/_react["default"].createElement("p", {
|
|
788
|
-
style: {
|
|
789
|
-
margin: 0,
|
|
790
|
-
color: '#6b7280'
|
|
791
|
-
}
|
|
792
|
-
}, "Sign in using a one-time code sent to your phone or email."), /*#__PURE__*/_react["default"].createElement("button", {
|
|
793
|
-
type: "button",
|
|
794
|
-
onClick: handleGetOtp,
|
|
795
|
-
disabled: otpLoading,
|
|
796
|
-
style: _objectSpread(_objectSpread({}, styles.otpButton), {}, {
|
|
797
|
-
marginTop: '8px'
|
|
798
|
-
})
|
|
799
|
-
}, otpLoading ? 'Sending OTP...' : 'Get OTP'), otpSent && /*#__PURE__*/_react["default"].createElement("div", {
|
|
800
|
-
style: styles.successText
|
|
801
|
-
}, "OTP sent \u2014 check your phone or email.")), !isLogin && /*#__PURE__*/_react["default"].createElement("div", {
|
|
640
|
+
}, fieldErrors.password)), !isLogin && /*#__PURE__*/_react["default"].createElement("div", {
|
|
802
641
|
style: styles.formGroup
|
|
803
642
|
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
804
643
|
htmlFor: "confirmPassword",
|
|
@@ -931,55 +770,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
931
770
|
onClick: verifyFirebaseOtp,
|
|
932
771
|
disabled: loading || !otp || otp.length < 6,
|
|
933
772
|
style: _objectSpread(_objectSpread({}, styles.button), loading || !otp || otp.length < 6 ? styles.buttonDisabled : {})
|
|
934
|
-
}, loading ? 'Verifying...' : 'Verify'))))
|
|
935
|
-
style: styles.modalOverlay
|
|
936
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
937
|
-
style: styles.modalContent
|
|
938
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
939
|
-
style: styles.modalHeader
|
|
940
|
-
}, /*#__PURE__*/_react["default"].createElement("h2", {
|
|
941
|
-
style: styles.modalTitle
|
|
942
|
-
}, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
943
|
-
onClick: function onClick() {
|
|
944
|
-
setShowServerOtpModal(false);
|
|
945
|
-
setServerOtp('');
|
|
946
|
-
setError('');
|
|
947
|
-
},
|
|
948
|
-
style: styles.closeButton
|
|
949
|
-
}, "\xD7")), /*#__PURE__*/_react["default"].createElement("p", {
|
|
950
|
-
style: styles.modalText
|
|
951
|
-
}, "We've sent a verification code to ", /*#__PURE__*/_react["default"].createElement("strong", null, formData.phoneOrEmail)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
952
|
-
style: styles.formGroup
|
|
953
|
-
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
954
|
-
htmlFor: "serverOtp",
|
|
955
|
-
style: styles.label
|
|
956
|
-
}, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
957
|
-
type: "text",
|
|
958
|
-
id: "serverOtp",
|
|
959
|
-
value: serverOtp,
|
|
960
|
-
onChange: function onChange(e) {
|
|
961
|
-
return setServerOtp(e.target.value);
|
|
962
|
-
},
|
|
963
|
-
style: styles.input,
|
|
964
|
-
placeholder: "Enter OTP",
|
|
965
|
-
maxLength: "8",
|
|
966
|
-
autoFocus: true
|
|
967
|
-
})), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
968
|
-
style: styles.errorMessage
|
|
969
|
-
}, error), /*#__PURE__*/_react["default"].createElement("div", {
|
|
970
|
-
style: styles.modalButtons
|
|
971
|
-
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
972
|
-
onClick: function onClick() {
|
|
973
|
-
setShowServerOtpModal(false);
|
|
974
|
-
setServerOtp('');
|
|
975
|
-
setError('');
|
|
976
|
-
},
|
|
977
|
-
style: styles.cancelButton
|
|
978
|
-
}, "Cancel"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
979
|
-
onClick: verifyServerOtp,
|
|
980
|
-
disabled: serverOtpLoading || !serverOtp,
|
|
981
|
-
style: _objectSpread(_objectSpread({}, styles.button), serverOtpLoading || !serverOtp ? styles.buttonDisabled : {})
|
|
982
|
-
}, serverOtpLoading ? 'Verifying...' : 'Verify')))));
|
|
773
|
+
}, loading ? 'Verifying...' : 'Verify')))));
|
|
983
774
|
};
|
|
984
775
|
var styles = {
|
|
985
776
|
container: {
|
package/dist/index.js
CHANGED
|
@@ -93,6 +93,12 @@ Object.defineProperty(exports, "PowrBaseUploader", {
|
|
|
93
93
|
return _uploader["default"];
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
|
+
Object.defineProperty(exports, "PowrBaseVerify", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function get() {
|
|
99
|
+
return _powrVerify["default"];
|
|
100
|
+
}
|
|
101
|
+
});
|
|
96
102
|
Object.defineProperty(exports, "PowrBaseWaitlist", {
|
|
97
103
|
enumerable: true,
|
|
98
104
|
get: function get() {
|
|
@@ -122,4 +128,5 @@ var _feeds = _interopRequireDefault(require("./feeds"));
|
|
|
122
128
|
var _admin = _interopRequireDefault(require("./admin"));
|
|
123
129
|
var _tools = _interopRequireDefault(require("./tools"));
|
|
124
130
|
var _tasks = _interopRequireDefault(require("./tasks"));
|
|
131
|
+
var _powrVerify = _interopRequireDefault(require("./powrVerify"));
|
|
125
132
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _firebase = require("../utils/firebase");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t5 in e) "default" !== _t5 && {}.hasOwnProperty.call(e, _t5) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t5)) && (i.get || i.set) ? o(f, _t5, i) : f[_t5] = e[_t5]); return f; })(e, t); }
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
17
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
18
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
19
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
20
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
21
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
23
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
24
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
25
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
26
|
+
var PowrVerify = function PowrVerify(_ref) {
|
|
27
|
+
var onVerified = _ref.onVerified,
|
|
28
|
+
_ref$defaultCountryCo = _ref.defaultCountryCode,
|
|
29
|
+
defaultCountryCode = _ref$defaultCountryCo === void 0 ? '91' : _ref$defaultCountryCo,
|
|
30
|
+
_ref$appName = _ref.appName,
|
|
31
|
+
appName = _ref$appName === void 0 ? 'App' : _ref$appName;
|
|
32
|
+
var _useState = (0, _react.useState)(''),
|
|
33
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
34
|
+
phone = _useState2[0],
|
|
35
|
+
setPhone = _useState2[1];
|
|
36
|
+
var _useState3 = (0, _react.useState)(''),
|
|
37
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
38
|
+
otp = _useState4[0],
|
|
39
|
+
setOtp = _useState4[1];
|
|
40
|
+
var _useState5 = (0, _react.useState)(false),
|
|
41
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
42
|
+
loading = _useState6[0],
|
|
43
|
+
setLoading = _useState6[1];
|
|
44
|
+
var _useState7 = (0, _react.useState)(false),
|
|
45
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
46
|
+
otpSent = _useState8[0],
|
|
47
|
+
setOtpSent = _useState8[1];
|
|
48
|
+
var _useState9 = (0, _react.useState)(null),
|
|
49
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
50
|
+
confirmationResult = _useState0[0],
|
|
51
|
+
setConfirmationResult = _useState0[1];
|
|
52
|
+
var _useState1 = (0, _react.useState)(''),
|
|
53
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
54
|
+
error = _useState10[0],
|
|
55
|
+
setError = _useState10[1];
|
|
56
|
+
var _useState11 = (0, _react.useState)(''),
|
|
57
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
58
|
+
success = _useState12[0],
|
|
59
|
+
setSuccess = _useState12[1];
|
|
60
|
+
var formatPhone = function formatPhone(p) {
|
|
61
|
+
var clean = (p || '').replace(/\D/g, '');
|
|
62
|
+
if (!clean) return '';
|
|
63
|
+
if (!clean.startsWith(defaultCountryCode)) {
|
|
64
|
+
clean = defaultCountryCode + clean;
|
|
65
|
+
}
|
|
66
|
+
return '+' + clean;
|
|
67
|
+
};
|
|
68
|
+
var clearRecaptcha = function clearRecaptcha() {
|
|
69
|
+
if (window.recaptchaVerifier) {
|
|
70
|
+
try {
|
|
71
|
+
window.recaptchaVerifier.clear();
|
|
72
|
+
} catch (e) {
|
|
73
|
+
// ignore
|
|
74
|
+
}
|
|
75
|
+
window.recaptchaVerifier = null;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
var sendOtp = /*#__PURE__*/function () {
|
|
79
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
80
|
+
var phoneNumber, appVerifier, confirmation, _t, _t2;
|
|
81
|
+
return _regenerator().w(function (_context) {
|
|
82
|
+
while (1) switch (_context.p = _context.n) {
|
|
83
|
+
case 0:
|
|
84
|
+
setLoading(true);
|
|
85
|
+
setError('');
|
|
86
|
+
setSuccess('');
|
|
87
|
+
_context.p = 1;
|
|
88
|
+
phoneNumber = formatPhone(phone);
|
|
89
|
+
if (phoneNumber) {
|
|
90
|
+
_context.n = 2;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
setError('Please enter a valid phone number');
|
|
94
|
+
setLoading(false);
|
|
95
|
+
return _context.a(2);
|
|
96
|
+
case 2:
|
|
97
|
+
// clear existing
|
|
98
|
+
clearRecaptcha();
|
|
99
|
+
window.recaptchaVerifier = new _firebase.RecaptchaVerifier(_firebase.auth, 'recaptcha-container-powrbase', {
|
|
100
|
+
size: 'invisible',
|
|
101
|
+
callback: function callback() {}
|
|
102
|
+
});
|
|
103
|
+
_context.p = 3;
|
|
104
|
+
_context.n = 4;
|
|
105
|
+
return window.recaptchaVerifier.render();
|
|
106
|
+
case 4:
|
|
107
|
+
_context.n = 6;
|
|
108
|
+
break;
|
|
109
|
+
case 5:
|
|
110
|
+
_context.p = 5;
|
|
111
|
+
_t = _context.v;
|
|
112
|
+
case 6:
|
|
113
|
+
appVerifier = window.recaptchaVerifier;
|
|
114
|
+
_context.n = 7;
|
|
115
|
+
return (0, _firebase.signInWithPhoneNumber)(_firebase.auth, phoneNumber, appVerifier);
|
|
116
|
+
case 7:
|
|
117
|
+
confirmation = _context.v;
|
|
118
|
+
setConfirmationResult(confirmation);
|
|
119
|
+
setOtpSent(true);
|
|
120
|
+
setSuccess('OTP sent to ' + phoneNumber);
|
|
121
|
+
_context.n = 9;
|
|
122
|
+
break;
|
|
123
|
+
case 8:
|
|
124
|
+
_context.p = 8;
|
|
125
|
+
_t2 = _context.v;
|
|
126
|
+
console.error('sendOtp error', _t2);
|
|
127
|
+
setError((_t2 === null || _t2 === void 0 ? void 0 : _t2.message) || 'Failed to send OTP.');
|
|
128
|
+
clearRecaptcha();
|
|
129
|
+
case 9:
|
|
130
|
+
_context.p = 9;
|
|
131
|
+
setLoading(false);
|
|
132
|
+
return _context.f(9);
|
|
133
|
+
case 10:
|
|
134
|
+
return _context.a(2);
|
|
135
|
+
}
|
|
136
|
+
}, _callee, null, [[3, 5], [1, 8, 9, 10]]);
|
|
137
|
+
}));
|
|
138
|
+
return function sendOtp() {
|
|
139
|
+
return _ref2.apply(this, arguments);
|
|
140
|
+
};
|
|
141
|
+
}();
|
|
142
|
+
var verifyOtp = /*#__PURE__*/function () {
|
|
143
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
144
|
+
var result, token, _t3, _t4;
|
|
145
|
+
return _regenerator().w(function (_context2) {
|
|
146
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
147
|
+
case 0:
|
|
148
|
+
setLoading(true);
|
|
149
|
+
setError('');
|
|
150
|
+
setSuccess('');
|
|
151
|
+
_context2.p = 1;
|
|
152
|
+
if (confirmationResult) {
|
|
153
|
+
_context2.n = 2;
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
setError('OTP not requested yet');
|
|
157
|
+
setLoading(false);
|
|
158
|
+
return _context2.a(2);
|
|
159
|
+
case 2:
|
|
160
|
+
_context2.n = 3;
|
|
161
|
+
return confirmationResult.confirm(otp);
|
|
162
|
+
case 3:
|
|
163
|
+
result = _context2.v;
|
|
164
|
+
_context2.n = 4;
|
|
165
|
+
return result.user.getIdToken();
|
|
166
|
+
case 4:
|
|
167
|
+
token = _context2.v;
|
|
168
|
+
_context2.p = 5;
|
|
169
|
+
_context2.n = 6;
|
|
170
|
+
return (0, _firebase.signOut)(_firebase.auth);
|
|
171
|
+
case 6:
|
|
172
|
+
_context2.n = 8;
|
|
173
|
+
break;
|
|
174
|
+
case 7:
|
|
175
|
+
_context2.p = 7;
|
|
176
|
+
_t3 = _context2.v;
|
|
177
|
+
case 8:
|
|
178
|
+
setSuccess('Phone verified');
|
|
179
|
+
setOtp('');
|
|
180
|
+
setOtpSent(false);
|
|
181
|
+
setConfirmationResult(null);
|
|
182
|
+
clearRecaptcha();
|
|
183
|
+
if (typeof onVerified === 'function') {
|
|
184
|
+
onVerified(token);
|
|
185
|
+
}
|
|
186
|
+
_context2.n = 10;
|
|
187
|
+
break;
|
|
188
|
+
case 9:
|
|
189
|
+
_context2.p = 9;
|
|
190
|
+
_t4 = _context2.v;
|
|
191
|
+
console.error('verifyOtp error', _t4);
|
|
192
|
+
setError((_t4 === null || _t4 === void 0 ? void 0 : _t4.message) || 'Invalid OTP');
|
|
193
|
+
case 10:
|
|
194
|
+
_context2.p = 10;
|
|
195
|
+
setLoading(false);
|
|
196
|
+
return _context2.f(10);
|
|
197
|
+
case 11:
|
|
198
|
+
return _context2.a(2);
|
|
199
|
+
}
|
|
200
|
+
}, _callee2, null, [[5, 7], [1, 9, 10, 11]]);
|
|
201
|
+
}));
|
|
202
|
+
return function verifyOtp() {
|
|
203
|
+
return _ref3.apply(this, arguments);
|
|
204
|
+
};
|
|
205
|
+
}();
|
|
206
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
207
|
+
style: containerStyle
|
|
208
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
209
|
+
style: cardStyle
|
|
210
|
+
}, /*#__PURE__*/_react["default"].createElement("h2", {
|
|
211
|
+
style: {
|
|
212
|
+
margin: 0,
|
|
213
|
+
marginBottom: 12
|
|
214
|
+
}
|
|
215
|
+
}, appName, " \u2014 Verify Phone"), /*#__PURE__*/_react["default"].createElement("p", {
|
|
216
|
+
style: {
|
|
217
|
+
marginTop: 0,
|
|
218
|
+
marginBottom: 16,
|
|
219
|
+
color: '#666'
|
|
220
|
+
}
|
|
221
|
+
}, "Enter your phone number and verify OTP. Only phone input is required."), /*#__PURE__*/_react["default"].createElement("label", {
|
|
222
|
+
style: labelStyle
|
|
223
|
+
}, "Phone number"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
224
|
+
type: "text",
|
|
225
|
+
value: phone,
|
|
226
|
+
onChange: function onChange(e) {
|
|
227
|
+
return setPhone(e.target.value);
|
|
228
|
+
},
|
|
229
|
+
placeholder: "e.g. 9876543210",
|
|
230
|
+
style: inputStyle,
|
|
231
|
+
disabled: otpSent
|
|
232
|
+
}), !otpSent && /*#__PURE__*/_react["default"].createElement("button", {
|
|
233
|
+
onClick: sendOtp,
|
|
234
|
+
style: buttonStyle,
|
|
235
|
+
disabled: loading
|
|
236
|
+
}, loading ? 'Sending...' : 'Send OTP'), otpSent && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
237
|
+
style: _objectSpread(_objectSpread({}, labelStyle), {}, {
|
|
238
|
+
marginTop: 12
|
|
239
|
+
})
|
|
240
|
+
}, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
241
|
+
type: "text",
|
|
242
|
+
value: otp,
|
|
243
|
+
onChange: function onChange(e) {
|
|
244
|
+
return setOtp(e.target.value);
|
|
245
|
+
},
|
|
246
|
+
placeholder: "6-digit code",
|
|
247
|
+
style: inputStyle,
|
|
248
|
+
maxLength: 6
|
|
249
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
250
|
+
style: {
|
|
251
|
+
display: 'flex',
|
|
252
|
+
gap: 8
|
|
253
|
+
}
|
|
254
|
+
}, /*#__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
|
+
onClick: function onClick() {
|
|
262
|
+
setOtpSent(false);
|
|
263
|
+
setConfirmationResult(null);
|
|
264
|
+
clearRecaptcha();
|
|
265
|
+
setOtp('');
|
|
266
|
+
},
|
|
267
|
+
style: _objectSpread({}, secondaryButtonStyle),
|
|
268
|
+
disabled: loading
|
|
269
|
+
}, "Cancel"))), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
270
|
+
style: errorStyle
|
|
271
|
+
}, error), success && /*#__PURE__*/_react["default"].createElement("div", {
|
|
272
|
+
style: successStyle
|
|
273
|
+
}, success), /*#__PURE__*/_react["default"].createElement("div", {
|
|
274
|
+
id: "recaptcha-container-powrbase"
|
|
275
|
+
})));
|
|
276
|
+
};
|
|
277
|
+
var containerStyle = {
|
|
278
|
+
fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial',
|
|
279
|
+
padding: 20,
|
|
280
|
+
display: 'flex',
|
|
281
|
+
justifyContent: 'center'
|
|
282
|
+
};
|
|
283
|
+
var cardStyle = {
|
|
284
|
+
width: 360,
|
|
285
|
+
padding: 20,
|
|
286
|
+
borderRadius: 12,
|
|
287
|
+
boxShadow: '0 6px 18px rgba(0,0,0,0.08)',
|
|
288
|
+
background: 'white'
|
|
289
|
+
};
|
|
290
|
+
var labelStyle = {
|
|
291
|
+
fontSize: 13,
|
|
292
|
+
fontWeight: 600,
|
|
293
|
+
marginBottom: 6
|
|
294
|
+
};
|
|
295
|
+
var inputStyle = {
|
|
296
|
+
width: '100%',
|
|
297
|
+
padding: 10,
|
|
298
|
+
borderRadius: 8,
|
|
299
|
+
border: '1px solid #e5e7eb',
|
|
300
|
+
marginBottom: 12,
|
|
301
|
+
boxSizing: 'border-box'
|
|
302
|
+
};
|
|
303
|
+
var buttonStyle = {
|
|
304
|
+
width: '100%',
|
|
305
|
+
padding: 12,
|
|
306
|
+
background: '#ff6b35',
|
|
307
|
+
color: 'white',
|
|
308
|
+
border: 'none',
|
|
309
|
+
borderRadius: 8,
|
|
310
|
+
cursor: 'pointer',
|
|
311
|
+
fontWeight: 600,
|
|
312
|
+
marginBottom: 8
|
|
313
|
+
};
|
|
314
|
+
var secondaryButtonStyle = {
|
|
315
|
+
padding: 12,
|
|
316
|
+
background: '#f3f4f6',
|
|
317
|
+
color: '#111827',
|
|
318
|
+
border: 'none',
|
|
319
|
+
borderRadius: 8,
|
|
320
|
+
cursor: 'pointer',
|
|
321
|
+
fontWeight: 600
|
|
322
|
+
};
|
|
323
|
+
var errorStyle = {
|
|
324
|
+
marginTop: 8,
|
|
325
|
+
color: '#dc2626',
|
|
326
|
+
background: '#fff1f2',
|
|
327
|
+
padding: 8,
|
|
328
|
+
borderRadius: 6
|
|
329
|
+
};
|
|
330
|
+
var successStyle = {
|
|
331
|
+
marginTop: 8,
|
|
332
|
+
color: '#166534',
|
|
333
|
+
background: '#f0fdf4',
|
|
334
|
+
padding: 8,
|
|
335
|
+
borderRadius: 6
|
|
336
|
+
};
|
|
337
|
+
var _default = exports["default"] = PowrVerify;
|
package/dist/utils/firebase.js
CHANGED
|
@@ -35,13 +35,24 @@ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present,
|
|
|
35
35
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
36
36
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
37
37
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
38
|
+
// const firebaseConfig = {
|
|
39
|
+
// apiKey: "AIzaSyCX-BOzLTVstWa7Ps4pLgB3gdMny83-AGY",
|
|
40
|
+
// authDomain: "excelrs-da4f4.firebaseapp.com",
|
|
41
|
+
// projectId: "excelrs-da4f4",
|
|
42
|
+
// storageBucket: "excelrs-da4f4.firebasestorage.app",
|
|
43
|
+
// messagingSenderId: "1069037816864",
|
|
44
|
+
// appId: "1:1069037816864:web:28c988b1f6bb49eac50045"
|
|
45
|
+
// };
|
|
46
|
+
|
|
38
47
|
var firebaseConfig = {
|
|
39
|
-
apiKey: "
|
|
40
|
-
authDomain: "
|
|
41
|
-
projectId: "
|
|
42
|
-
storageBucket: "
|
|
43
|
-
messagingSenderId: "
|
|
44
|
-
appId: "1:
|
|
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
|
|
45
56
|
};
|
|
46
57
|
var app = exports.app = (0, _app.initializeApp)(firebaseConfig);
|
|
47
58
|
var functions = exports.functions = (0, _functions.getFunctions)(app);
|