powr-sdk-web 4.2.8 → 4.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 +154 -329
- package/package.json +1 -1
package/dist/auth/index.js
CHANGED
|
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _auth = require("../utils/auth");
|
|
9
|
-
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 _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); }
|
|
9
|
+
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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
11
10
|
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
11
|
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
12
|
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); }
|
|
@@ -24,6 +23,8 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
24
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; }
|
|
25
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; } }
|
|
26
25
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
26
|
+
// import { auth, RecaptchaVerifier, signInWithPhoneNumber } from '../utils/firebase';
|
|
27
|
+
|
|
27
28
|
var PowrLogin = function PowrLogin(_ref) {
|
|
28
29
|
var apiUrl = _ref.apiUrl,
|
|
29
30
|
onLogin = _ref.onLogin,
|
|
@@ -32,9 +33,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
32
33
|
appLogo = _ref.appLogo,
|
|
33
34
|
_ref$mode = _ref.mode,
|
|
34
35
|
mode = _ref$mode === void 0 ? 'toggle' : _ref$mode,
|
|
35
|
-
projectId = _ref.projectId
|
|
36
|
-
_ref$fieldType = _ref.fieldType,
|
|
37
|
-
fieldType = _ref$fieldType === void 0 ? 'both' : _ref$fieldType;
|
|
36
|
+
projectId = _ref.projectId;
|
|
38
37
|
var _useState = (0, _react.useState)(function () {
|
|
39
38
|
switch (mode) {
|
|
40
39
|
case 'login':
|
|
@@ -50,8 +49,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
50
49
|
isLogin = _useState2[0],
|
|
51
50
|
setIsLogin = _useState2[1];
|
|
52
51
|
var _useState3 = (0, _react.useState)({
|
|
53
|
-
|
|
54
|
-
email: '',
|
|
52
|
+
phoneOrEmail: '',
|
|
55
53
|
password: '',
|
|
56
54
|
confirmPassword: '',
|
|
57
55
|
fullName: ''
|
|
@@ -87,41 +85,20 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
87
85
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
88
86
|
showTooltip = _useState16[0],
|
|
89
87
|
setShowTooltip = _useState16[1];
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
setOtpSent = _useState20[1];
|
|
105
|
-
var _useState21 = (0, _react.useState)(false),
|
|
106
|
-
_useState22 = _slicedToArray(_useState21, 2),
|
|
107
|
-
otpLoading = _useState22[0],
|
|
108
|
-
setOtpLoading = _useState22[1];
|
|
109
|
-
var _useState23 = (0, _react.useState)(''),
|
|
110
|
-
_useState24 = _slicedToArray(_useState23, 2),
|
|
111
|
-
otp = _useState24[0],
|
|
112
|
-
setOtp = _useState24[1];
|
|
113
|
-
var _useState25 = (0, _react.useState)(false),
|
|
114
|
-
_useState26 = _slicedToArray(_useState25, 2),
|
|
115
|
-
firebaseOtpSent = _useState26[0],
|
|
116
|
-
setFirebaseOtpSent = _useState26[1];
|
|
117
|
-
var _useState27 = (0, _react.useState)(null),
|
|
118
|
-
_useState28 = _slicedToArray(_useState27, 2),
|
|
119
|
-
firebaseConfirm = _useState28[0],
|
|
120
|
-
setFirebaseConfirm = _useState28[1];
|
|
121
|
-
var _useState29 = (0, _react.useState)(false),
|
|
122
|
-
_useState30 = _slicedToArray(_useState29, 2),
|
|
123
|
-
otpVerified = _useState30[0],
|
|
124
|
-
setOtpVerified = _useState30[1];
|
|
88
|
+
// const formatPhone = (phone) => {
|
|
89
|
+
// let clean = phone.replace(/\D/g, '');
|
|
90
|
+
// if (!clean.startsWith('91')) {
|
|
91
|
+
// clean = '91' + clean;
|
|
92
|
+
// }
|
|
93
|
+
// return '+' + clean;
|
|
94
|
+
// };
|
|
95
|
+
// const [showOtpOption, setShowOtpOption] = useState(false);
|
|
96
|
+
// const [otpSent, setOtpSent] = useState(false);
|
|
97
|
+
// const [otpLoading, setOtpLoading] = useState(false);
|
|
98
|
+
// const [otp, setOtp] = useState('');
|
|
99
|
+
// const [firebaseOtpSent, setFirebaseOtpSent] = useState(false);
|
|
100
|
+
// const [firebaseConfirm, setFirebaseConfirm] = useState(null);
|
|
101
|
+
|
|
125
102
|
var shouldShowToggle = mode === 'toggle';
|
|
126
103
|
var handleInputChange = /*#__PURE__*/function () {
|
|
127
104
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
|
|
@@ -148,87 +125,41 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
148
125
|
return _ref2.apply(this, arguments);
|
|
149
126
|
};
|
|
150
127
|
}();
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}));
|
|
187
|
-
return function sendFirebaseOtp(_x2) {
|
|
188
|
-
return _ref3.apply(this, arguments);
|
|
189
|
-
};
|
|
190
|
-
}();
|
|
191
|
-
var verifyFirebaseOtp = /*#__PURE__*/function () {
|
|
192
|
-
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
193
|
-
var _t2;
|
|
194
|
-
return _regenerator().w(function (_context3) {
|
|
195
|
-
while (1) switch (_context3.p = _context3.n) {
|
|
196
|
-
case 0:
|
|
197
|
-
setLoading(true);
|
|
198
|
-
setError('');
|
|
199
|
-
_context3.p = 1;
|
|
200
|
-
if (firebaseConfirm) {
|
|
201
|
-
_context3.n = 2;
|
|
202
|
-
break;
|
|
203
|
-
}
|
|
204
|
-
setError('OTP not sent yet.');
|
|
205
|
-
return _context3.a(2);
|
|
206
|
-
case 2:
|
|
207
|
-
_context3.n = 3;
|
|
208
|
-
return firebaseConfirm.confirm(otp);
|
|
209
|
-
case 3:
|
|
210
|
-
setOtpVerified(true);
|
|
211
|
-
setSuccess('OTP verified! Please set your password to complete registration.');
|
|
212
|
-
_context3.n = 5;
|
|
213
|
-
break;
|
|
214
|
-
case 4:
|
|
215
|
-
_context3.p = 4;
|
|
216
|
-
_t2 = _context3.v;
|
|
217
|
-
setError('Invalid OTP. Please try again.');
|
|
218
|
-
setOtpVerified(false);
|
|
219
|
-
case 5:
|
|
220
|
-
_context3.p = 5;
|
|
221
|
-
setLoading(false);
|
|
222
|
-
return _context3.f(5);
|
|
223
|
-
case 6:
|
|
224
|
-
return _context3.a(2);
|
|
225
|
-
}
|
|
226
|
-
}, _callee3, null, [[1, 4, 5, 6]]);
|
|
227
|
-
}));
|
|
228
|
-
return function verifyFirebaseOtp() {
|
|
229
|
-
return _ref4.apply(this, arguments);
|
|
230
|
-
};
|
|
231
|
-
}();
|
|
128
|
+
|
|
129
|
+
// const sendFirebaseOtp = async (phone) => {
|
|
130
|
+
// setOtpLoading(true);
|
|
131
|
+
// setError('');
|
|
132
|
+
// try {
|
|
133
|
+
// if (!window.recaptchaVerifier) {
|
|
134
|
+
// window.recaptchaVerifier = new RecaptchaVerifier(auth, 'recaptcha-container', { size: 'invisible' });
|
|
135
|
+
// }
|
|
136
|
+
// const appVerifier = window.recaptchaVerifier;
|
|
137
|
+
// const confirmationResult = await signInWithPhoneNumber(auth, phone, appVerifier);
|
|
138
|
+
// setFirebaseConfirm(confirmationResult);
|
|
139
|
+
// setFirebaseOtpSent(true);
|
|
140
|
+
// setSuccess('OTP sent to your phone!');
|
|
141
|
+
// } catch (err) {
|
|
142
|
+
// } finally {
|
|
143
|
+
// setOtpLoading(false);
|
|
144
|
+
// }
|
|
145
|
+
// };
|
|
146
|
+
|
|
147
|
+
// const verifyFirebaseOtp = async () => {
|
|
148
|
+
// setLoading(true);
|
|
149
|
+
// setError('');
|
|
150
|
+
// try {
|
|
151
|
+
// if (!firebaseConfirm) {
|
|
152
|
+
// setError('OTP not sent yet.');
|
|
153
|
+
// return;
|
|
154
|
+
// }
|
|
155
|
+
// const result = await firebaseConfirm.confirm(otp);
|
|
156
|
+
// await handleSubmit(null, true);
|
|
157
|
+
// } catch (err) {
|
|
158
|
+
// setError('Invalid OTP. Please try again.');
|
|
159
|
+
// } finally {
|
|
160
|
+
// setLoading(false);
|
|
161
|
+
// }
|
|
162
|
+
// };
|
|
232
163
|
|
|
233
164
|
// Validation functions
|
|
234
165
|
var isValidEmail = function isValidEmail(email) {
|
|
@@ -236,34 +167,43 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
236
167
|
return emailRegex.test(email);
|
|
237
168
|
};
|
|
238
169
|
var isValidPhone = function isValidPhone(phone) {
|
|
170
|
+
// Remove all non-digit characters
|
|
239
171
|
var cleanPhone = phone.replace(/\D/g, '');
|
|
172
|
+
// Check if it's a valid phone number (7-15 digits)
|
|
240
173
|
return cleanPhone.length >= 7 && cleanPhone.length <= 15;
|
|
241
174
|
};
|
|
242
175
|
var handleSubmit = /*#__PURE__*/function () {
|
|
243
|
-
var
|
|
244
|
-
var
|
|
245
|
-
|
|
246
|
-
|
|
176
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e) {
|
|
177
|
+
var skipPhoneValidation,
|
|
178
|
+
errors,
|
|
179
|
+
value,
|
|
180
|
+
isEmail,
|
|
181
|
+
endpoint,
|
|
182
|
+
payload,
|
|
183
|
+
_yield$apiCall,
|
|
184
|
+
data,
|
|
185
|
+
ok,
|
|
186
|
+
_args2 = arguments,
|
|
187
|
+
_t;
|
|
188
|
+
return _regenerator().w(function (_context2) {
|
|
189
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
247
190
|
case 0:
|
|
191
|
+
skipPhoneValidation = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;
|
|
248
192
|
if (e) e.preventDefault();
|
|
249
193
|
setLoading(true);
|
|
250
194
|
setError('');
|
|
251
195
|
setSuccess('');
|
|
252
196
|
setFieldErrors({});
|
|
253
|
-
errors = {};
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
errors.phone = 'Please enter a valid phone number';
|
|
259
|
-
}
|
|
197
|
+
errors = {};
|
|
198
|
+
value = formData.phoneOrEmail.trim();
|
|
199
|
+
isEmail = value.includes('@');
|
|
200
|
+
if (!formData.phoneOrEmail.trim()) {
|
|
201
|
+
errors.phoneOrEmail = 'Phone or email is required';
|
|
260
202
|
}
|
|
261
|
-
if (
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
errors.email = 'Please enter a valid email address';
|
|
266
|
-
}
|
|
203
|
+
if (!isLogin && !isValidPhone(value)) {
|
|
204
|
+
errors.phoneOrEmail = 'Please enter a valid phone number';
|
|
205
|
+
} else if (isLogin && isEmail && !isValidEmail(value)) {
|
|
206
|
+
errors.phoneOrEmail = 'Please enter a valid email address';
|
|
267
207
|
}
|
|
268
208
|
if (!formData.password.trim()) {
|
|
269
209
|
errors.password = 'Password is required';
|
|
@@ -273,42 +213,37 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
273
213
|
if (!isLogin && !formData.fullName.trim()) {
|
|
274
214
|
errors.fullName = 'Full name is required';
|
|
275
215
|
}
|
|
276
|
-
if (!isLogin &&
|
|
277
|
-
errors.
|
|
216
|
+
if (!isLogin && formData.password !== formData.confirmPassword) {
|
|
217
|
+
errors.confirmPassword = 'Passwords do not match';
|
|
278
218
|
}
|
|
219
|
+
// if (!isLogin && (!otp || !firebaseConfirm)) {
|
|
220
|
+
// errors.otp = 'Please verify OTP before signing up';
|
|
221
|
+
// }
|
|
279
222
|
if (!(Object.keys(errors).length > 0)) {
|
|
280
|
-
|
|
223
|
+
_context2.n = 1;
|
|
281
224
|
break;
|
|
282
225
|
}
|
|
283
226
|
setFieldErrors(errors);
|
|
284
227
|
setLoading(false);
|
|
285
|
-
return
|
|
228
|
+
return _context2.a(2);
|
|
286
229
|
case 1:
|
|
287
|
-
|
|
230
|
+
_context2.p = 1;
|
|
288
231
|
endpoint = isLogin ? "/auth/login" : "/auth/register";
|
|
289
|
-
phoneOrEmail = '';
|
|
290
|
-
if (fieldType === 'phone') {
|
|
291
|
-
phoneOrEmail = formData.phone;
|
|
292
|
-
} else if (fieldType === 'email') {
|
|
293
|
-
phoneOrEmail = formData.email;
|
|
294
|
-
} else if (fieldType === 'both') {
|
|
295
|
-
phoneOrEmail = formData.phone || formData.email;
|
|
296
|
-
}
|
|
297
232
|
payload = isLogin ? {
|
|
298
|
-
phoneOrEmail: phoneOrEmail,
|
|
233
|
+
phoneOrEmail: formData.phoneOrEmail,
|
|
299
234
|
password: formData.password
|
|
300
235
|
} : {
|
|
301
236
|
fullName: formData.fullName,
|
|
302
|
-
phoneOrEmail: phoneOrEmail,
|
|
237
|
+
phoneOrEmail: formData.phoneOrEmail,
|
|
303
238
|
password: formData.password
|
|
304
239
|
};
|
|
305
|
-
|
|
240
|
+
_context2.n = 2;
|
|
306
241
|
return (0, _auth.apiCall)(apiUrl, endpoint, projectId, {
|
|
307
242
|
method: 'POST',
|
|
308
243
|
body: payload
|
|
309
244
|
});
|
|
310
245
|
case 2:
|
|
311
|
-
_yield$apiCall =
|
|
246
|
+
_yield$apiCall = _context2.v;
|
|
312
247
|
data = _yield$apiCall.data;
|
|
313
248
|
ok = _yield$apiCall.ok;
|
|
314
249
|
if (ok) {
|
|
@@ -319,8 +254,7 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
319
254
|
onRegister(data);
|
|
320
255
|
}
|
|
321
256
|
setFormData({
|
|
322
|
-
|
|
323
|
-
email: '',
|
|
257
|
+
phoneOrEmail: '',
|
|
324
258
|
password: '',
|
|
325
259
|
confirmPassword: '',
|
|
326
260
|
fullName: ''
|
|
@@ -340,23 +274,23 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
340
274
|
setError("".concat(isLogin ? 'Login' : 'Registration', " failed. Please try again."));
|
|
341
275
|
}
|
|
342
276
|
}
|
|
343
|
-
|
|
277
|
+
_context2.n = 4;
|
|
344
278
|
break;
|
|
345
279
|
case 3:
|
|
346
|
-
|
|
347
|
-
|
|
280
|
+
_context2.p = 3;
|
|
281
|
+
_t = _context2.v;
|
|
348
282
|
setError('Network error. Please try again.');
|
|
349
283
|
case 4:
|
|
350
|
-
|
|
284
|
+
_context2.p = 4;
|
|
351
285
|
setLoading(false);
|
|
352
|
-
return
|
|
286
|
+
return _context2.f(4);
|
|
353
287
|
case 5:
|
|
354
|
-
return
|
|
288
|
+
return _context2.a(2);
|
|
355
289
|
}
|
|
356
|
-
},
|
|
290
|
+
}, _callee2, null, [[1, 3, 4, 5]]);
|
|
357
291
|
}));
|
|
358
|
-
return function handleSubmit(
|
|
359
|
-
return
|
|
292
|
+
return function handleSubmit(_x2) {
|
|
293
|
+
return _ref3.apply(this, arguments);
|
|
360
294
|
};
|
|
361
295
|
}();
|
|
362
296
|
var toggleMode = function toggleMode() {
|
|
@@ -364,8 +298,8 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
364
298
|
setError('');
|
|
365
299
|
setSuccess('');
|
|
366
300
|
setFieldErrors({});
|
|
367
|
-
setShowOtpOption(false);
|
|
368
|
-
setOtpSent(false);
|
|
301
|
+
// setShowOtpOption(false);
|
|
302
|
+
// setOtpSent(false);
|
|
369
303
|
setFormData({
|
|
370
304
|
phoneOrEmail: '',
|
|
371
305
|
password: '',
|
|
@@ -373,62 +307,37 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
373
307
|
fullName: ''
|
|
374
308
|
});
|
|
375
309
|
};
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
setOtpSent(true);
|
|
408
|
-
setSuccess('OTP sent successfully! Check your phone/email.');
|
|
409
|
-
setShowOtpOption(false);
|
|
410
|
-
} else {
|
|
411
|
-
setError(data.message || 'Failed to send OTP. Please try again.');
|
|
412
|
-
}
|
|
413
|
-
_context5.n = 5;
|
|
414
|
-
break;
|
|
415
|
-
case 4:
|
|
416
|
-
_context5.p = 4;
|
|
417
|
-
_t4 = _context5.v;
|
|
418
|
-
setError('Network error. Please try again.');
|
|
419
|
-
case 5:
|
|
420
|
-
_context5.p = 5;
|
|
421
|
-
setOtpLoading(false);
|
|
422
|
-
return _context5.f(5);
|
|
423
|
-
case 6:
|
|
424
|
-
return _context5.a(2);
|
|
425
|
-
}
|
|
426
|
-
}, _callee5, null, [[2, 4, 5, 6]]);
|
|
427
|
-
}));
|
|
428
|
-
return function handleGetOtp() {
|
|
429
|
-
return _ref6.apply(this, arguments);
|
|
430
|
-
};
|
|
431
|
-
}();
|
|
310
|
+
|
|
311
|
+
// const handleGetOtp = async () => {
|
|
312
|
+
// if (!formData.phoneOrEmail.trim()) {
|
|
313
|
+
// setFieldErrors({ phoneOrEmail: 'Phone or email is required for OTP' });
|
|
314
|
+
// return;
|
|
315
|
+
// }
|
|
316
|
+
|
|
317
|
+
// setOtpLoading(true);
|
|
318
|
+
// setError('');
|
|
319
|
+
// setFieldErrors({});
|
|
320
|
+
|
|
321
|
+
// try {
|
|
322
|
+
// const { data, ok } = await apiCall(apiUrl, `/auth/send-otp`, projectId, {
|
|
323
|
+
// method: 'POST',
|
|
324
|
+
// body: { phoneOrEmail: formData.phoneOrEmail }
|
|
325
|
+
// });
|
|
326
|
+
|
|
327
|
+
// if (ok) {
|
|
328
|
+
// setOtpSent(true);
|
|
329
|
+
// setSuccess('OTP sent successfully! Check your phone/email.');
|
|
330
|
+
// setShowOtpOption(false);
|
|
331
|
+
// } else {
|
|
332
|
+
// setError(data.message || 'Failed to send OTP. Please try again.');
|
|
333
|
+
// }
|
|
334
|
+
// } catch (err) {
|
|
335
|
+
// setError('Network error. Please try again.');
|
|
336
|
+
// } finally {
|
|
337
|
+
// setOtpLoading(false);
|
|
338
|
+
// }
|
|
339
|
+
// };
|
|
340
|
+
|
|
432
341
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
433
342
|
style: styles.container
|
|
434
343
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -476,72 +385,23 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
476
385
|
required: true
|
|
477
386
|
}), fieldErrors.fullName && /*#__PURE__*/_react["default"].createElement("div", {
|
|
478
387
|
style: styles.fieldError
|
|
479
|
-
}, fieldErrors.fullName)),
|
|
388
|
+
}, fieldErrors.fullName)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
480
389
|
style: styles.formGroup
|
|
481
390
|
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
482
|
-
htmlFor: "
|
|
391
|
+
htmlFor: "phoneOrEmail",
|
|
483
392
|
style: styles.label
|
|
484
|
-
}, "Phone"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
393
|
+
}, "Phone or Email"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
485
394
|
type: "text",
|
|
486
|
-
id: "
|
|
487
|
-
name: "
|
|
488
|
-
value: formData.
|
|
395
|
+
id: "phoneOrEmail",
|
|
396
|
+
name: "phoneOrEmail",
|
|
397
|
+
value: formData.phoneOrEmail,
|
|
489
398
|
onChange: handleInputChange,
|
|
490
|
-
style: _objectSpread(_objectSpread({}, styles.input), fieldErrors.
|
|
491
|
-
placeholder: "Enter your phone
|
|
492
|
-
required: fieldType === 'phone' || fieldType === 'both'
|
|
493
|
-
}), fieldErrors.phone && /*#__PURE__*/_react["default"].createElement("div", {
|
|
494
|
-
style: styles.fieldError
|
|
495
|
-
}, fieldErrors.phone), !isLogin && isValidPhone(formData.phone) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !firebaseOtpSent ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", {
|
|
496
|
-
type: "button",
|
|
497
|
-
onClick: function onClick() {
|
|
498
|
-
return sendFirebaseOtp(formatPhone(formData.phone));
|
|
499
|
-
},
|
|
500
|
-
style: styles.otpButton,
|
|
501
|
-
disabled: otpLoading
|
|
502
|
-
}, otpLoading ? 'Sending OTP...' : 'Send OTP to Phone'), /*#__PURE__*/_react["default"].createElement("div", {
|
|
503
|
-
id: "recaptcha-container"
|
|
504
|
-
})) : !otpVerified ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
505
|
-
htmlFor: "otp",
|
|
506
|
-
style: styles.label
|
|
507
|
-
}, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
508
|
-
type: "text",
|
|
509
|
-
id: "otp",
|
|
510
|
-
name: "otp",
|
|
511
|
-
value: otp,
|
|
512
|
-
onChange: function onChange(e) {
|
|
513
|
-
return setOtp(e.target.value);
|
|
514
|
-
},
|
|
515
|
-
style: styles.input,
|
|
516
|
-
placeholder: "Enter OTP received",
|
|
399
|
+
style: _objectSpread(_objectSpread({}, styles.input), fieldErrors.phoneOrEmail ? styles.inputError : {}),
|
|
400
|
+
placeholder: "Enter your phone or email",
|
|
517
401
|
required: true
|
|
518
|
-
}), /*#__PURE__*/_react["default"].createElement("
|
|
519
|
-
type: "button",
|
|
520
|
-
onClick: verifyFirebaseOtp,
|
|
521
|
-
style: styles.otpButton,
|
|
522
|
-
disabled: loading || !otp
|
|
523
|
-
}, loading ? 'Verifying...' : 'Verify OTP')) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
524
|
-
style: {
|
|
525
|
-
color: '#16a34a',
|
|
526
|
-
marginBottom: 8
|
|
527
|
-
}
|
|
528
|
-
}, "OTP verified! Now set your password and sign up."))), (fieldType === 'email' || fieldType === 'both') && /*#__PURE__*/_react["default"].createElement("div", {
|
|
529
|
-
style: styles.formGroup
|
|
530
|
-
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
531
|
-
htmlFor: "email",
|
|
532
|
-
style: styles.label
|
|
533
|
-
}, "Email"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
534
|
-
type: "email",
|
|
535
|
-
id: "email",
|
|
536
|
-
name: "email",
|
|
537
|
-
value: formData.email,
|
|
538
|
-
onChange: handleInputChange,
|
|
539
|
-
style: _objectSpread(_objectSpread({}, styles.input), fieldErrors.email ? styles.inputError : {}),
|
|
540
|
-
placeholder: "Enter your email",
|
|
541
|
-
required: fieldType === 'email' || fieldType === 'both'
|
|
542
|
-
}), fieldErrors.email && /*#__PURE__*/_react["default"].createElement("div", {
|
|
402
|
+
}), fieldErrors.phoneOrEmail && /*#__PURE__*/_react["default"].createElement("div", {
|
|
543
403
|
style: styles.fieldError
|
|
544
|
-
}, fieldErrors.
|
|
404
|
+
}, fieldErrors.phoneOrEmail)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
545
405
|
style: styles.formGroup
|
|
546
406
|
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
547
407
|
htmlFor: "password",
|
|
@@ -556,16 +416,14 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
556
416
|
onChange: handleInputChange,
|
|
557
417
|
style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.password ? styles.inputError : {}),
|
|
558
418
|
placeholder: "Enter your password",
|
|
559
|
-
required: true
|
|
560
|
-
disabled: !isLogin && !otpVerified
|
|
419
|
+
required: true
|
|
561
420
|
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
562
421
|
type: "button",
|
|
563
422
|
onClick: function onClick() {
|
|
564
423
|
return setShowPassword(!showPassword);
|
|
565
424
|
},
|
|
566
425
|
style: styles.eyeButton,
|
|
567
|
-
tabIndex: -1
|
|
568
|
-
disabled: !isLogin && !otpVerified
|
|
426
|
+
tabIndex: -1
|
|
569
427
|
}, showPassword ? /*#__PURE__*/_react["default"].createElement("span", {
|
|
570
428
|
style: styles.eyeIcon
|
|
571
429
|
}, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
|
|
@@ -587,16 +445,14 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
587
445
|
onChange: handleInputChange,
|
|
588
446
|
style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.confirmPassword ? styles.inputError : {}),
|
|
589
447
|
placeholder: "Confirm your password",
|
|
590
|
-
required: true
|
|
591
|
-
disabled: !otpVerified
|
|
448
|
+
required: true
|
|
592
449
|
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
593
450
|
type: "button",
|
|
594
451
|
onClick: function onClick() {
|
|
595
452
|
return setShowConfirmPassword(!showConfirmPassword);
|
|
596
453
|
},
|
|
597
454
|
style: styles.eyeButton,
|
|
598
|
-
tabIndex: -1
|
|
599
|
-
disabled: !otpVerified
|
|
455
|
+
tabIndex: -1
|
|
600
456
|
}, showConfirmPassword ? /*#__PURE__*/_react["default"].createElement("span", {
|
|
601
457
|
style: styles.eyeIcon
|
|
602
458
|
}, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
|
|
@@ -612,42 +468,11 @@ var PowrLogin = function PowrLogin(_ref) {
|
|
|
612
468
|
style: styles.checkbox
|
|
613
469
|
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
614
470
|
style: styles.checkboxText
|
|
615
|
-
}, "Remember me")), /*#__PURE__*/_react["default"].createElement("
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
style: styles.forgotPasswordLink
|
|
621
|
-
}, "Forgot password?")), isLogin && showOtpOption && /*#__PURE__*/_react["default"].createElement("div", {
|
|
622
|
-
style: styles.formGroup
|
|
623
|
-
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
624
|
-
htmlFor: "password",
|
|
625
|
-
style: styles.label
|
|
626
|
-
}, "Password"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
627
|
-
style: styles.passwordContainer
|
|
628
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
629
|
-
type: showPassword ? "text" : "password",
|
|
630
|
-
id: "password",
|
|
631
|
-
name: "password",
|
|
632
|
-
value: formData.password,
|
|
633
|
-
onChange: handleInputChange,
|
|
634
|
-
style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.password ? styles.inputError : {}),
|
|
635
|
-
placeholder: "Enter your password",
|
|
636
|
-
required: true
|
|
637
|
-
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
638
|
-
type: "button",
|
|
639
|
-
onClick: function onClick() {
|
|
640
|
-
return setShowPassword(!showPassword);
|
|
641
|
-
},
|
|
642
|
-
style: styles.eyeButton,
|
|
643
|
-
tabIndex: -1
|
|
644
|
-
}, showPassword ? /*#__PURE__*/_react["default"].createElement("span", {
|
|
645
|
-
style: styles.eyeIcon
|
|
646
|
-
}, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
|
|
647
|
-
style: styles.eyeIcon
|
|
648
|
-
}, "\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F"))), fieldErrors.password && /*#__PURE__*/_react["default"].createElement("div", {
|
|
649
|
-
style: styles.fieldError
|
|
650
|
-
}, fieldErrors.password)), /*#__PURE__*/_react["default"].createElement("button", {
|
|
471
|
+
}, "Remember me"))), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
472
|
+
style: styles.errorMessage
|
|
473
|
+
}, error), success && /*#__PURE__*/_react["default"].createElement("div", {
|
|
474
|
+
style: styles.successMessage
|
|
475
|
+
}, success), /*#__PURE__*/_react["default"].createElement("button", {
|
|
651
476
|
type: "submit",
|
|
652
477
|
disabled: loading,
|
|
653
478
|
style: _objectSpread(_objectSpread({}, styles.button), loading ? styles.buttonDisabled : {})
|