powr-sdk-web 4.4.7 → 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/comments/index.js +2 -11
- package/dist/index.js +7 -0
- package/dist/powrVerify/index.js +337 -0
- package/dist/uploader/index.js +13 -63
- package/dist/utils/auth.js +6 -16
- package/dist/utils/firebase.js +17 -6
- package/package.json +1 -1
package/dist/comments/index.js
CHANGED
|
@@ -88,7 +88,7 @@ var PowrBaseComments = function PowrBaseComments(_ref) {
|
|
|
88
88
|
}, [contentId, projectId]);
|
|
89
89
|
var fetchComments = /*#__PURE__*/function () {
|
|
90
90
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
91
|
-
var
|
|
91
|
+
var _yield$apiCall, data, ok, sortedComments, _t;
|
|
92
92
|
return _regenerator().w(function (_context) {
|
|
93
93
|
while (1) switch (_context.p = _context.n) {
|
|
94
94
|
case 0:
|
|
@@ -100,24 +100,19 @@ var PowrBaseComments = function PowrBaseComments(_ref) {
|
|
|
100
100
|
case 1:
|
|
101
101
|
setIsLoading(true);
|
|
102
102
|
_context.p = 2;
|
|
103
|
-
// Add cache busting to prevent 304 responses
|
|
104
|
-
timestamp = new Date().getTime();
|
|
105
103
|
_context.n = 3;
|
|
106
|
-
return (0, _auth.apiCall)(apiUrl, "/comments?contentId=".concat(contentId
|
|
104
|
+
return (0, _auth.apiCall)(apiUrl, "/comments?contentId=".concat(contentId), projectId);
|
|
107
105
|
case 3:
|
|
108
106
|
_yield$apiCall = _context.v;
|
|
109
107
|
data = _yield$apiCall.data;
|
|
110
108
|
ok = _yield$apiCall.ok;
|
|
111
|
-
console.log('Fetched comments data............:', data);
|
|
112
109
|
if (ok && data !== null && data !== void 0 && data.success) {
|
|
113
110
|
if (Array.isArray(data === null || data === void 0 ? void 0 : data.data)) {
|
|
114
111
|
sortedComments = data.data.sort(function (a, b) {
|
|
115
112
|
return new Date(a.createdAt) - new Date(b.createdAt);
|
|
116
113
|
});
|
|
117
|
-
console.log('Setting comments:', sortedComments);
|
|
118
114
|
setComments(sortedComments);
|
|
119
115
|
} else {
|
|
120
|
-
console.log('No comments array found, setting empty');
|
|
121
116
|
setComments([]);
|
|
122
117
|
}
|
|
123
118
|
} else {
|
|
@@ -282,7 +277,6 @@ var PowrBaseComments = function PowrBaseComments(_ref) {
|
|
|
282
277
|
};
|
|
283
278
|
var groupedComments = comments.reduce(function (acc, comment) {
|
|
284
279
|
if (!comment || _typeof(comment) !== 'object' || comment === null || !comment._id || !comment.createdAt) {
|
|
285
|
-
console.log('Skipping invalid comment:', comment);
|
|
286
280
|
return acc;
|
|
287
281
|
}
|
|
288
282
|
var _formatDate = formatDate(comment.createdAt),
|
|
@@ -296,8 +290,6 @@ var PowrBaseComments = function PowrBaseComments(_ref) {
|
|
|
296
290
|
}));
|
|
297
291
|
return acc;
|
|
298
292
|
}, {});
|
|
299
|
-
console.log('Current comments state:', comments);
|
|
300
|
-
console.log('Grouped comments:', groupedComments);
|
|
301
293
|
var dateGroups = Object.keys(groupedComments).sort(function (a, b) {
|
|
302
294
|
return new Date(groupedComments[a][0].createdAt) - new Date(groupedComments[b][0].createdAt);
|
|
303
295
|
}).map(function (date) {
|
|
@@ -306,7 +298,6 @@ var PowrBaseComments = function PowrBaseComments(_ref) {
|
|
|
306
298
|
comments: groupedComments[date]
|
|
307
299
|
};
|
|
308
300
|
});
|
|
309
|
-
console.log('Final dateGroups:', dateGroups);
|
|
310
301
|
var handleUploadComplete = function handleUploadComplete(uploadedFiles) {
|
|
311
302
|
setSelectedFiles(uploadedFiles);
|
|
312
303
|
console.log('Upload complete. Closing modal.');
|
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/uploader/index.js
CHANGED
|
@@ -69,15 +69,12 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
69
69
|
var fileInputRef = (0, _react.useRef)(null);
|
|
70
70
|
var uploadFile = /*#__PURE__*/function () {
|
|
71
71
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(file) {
|
|
72
|
-
var formData, _yield$apiCall, data, ok,
|
|
72
|
+
var formData, _yield$apiCall, data, ok, _t;
|
|
73
73
|
return _regenerator().w(function (_context) {
|
|
74
74
|
while (1) switch (_context.p = _context.n) {
|
|
75
75
|
case 0:
|
|
76
76
|
formData = new FormData();
|
|
77
77
|
formData.append('file', file);
|
|
78
|
-
|
|
79
|
-
// Avoid interpolating apiUrl directly (it may be undefined). Log intent instead.
|
|
80
|
-
console.log(' Uploading file:', file.name, 'to files endpoint');
|
|
81
78
|
_context.p = 1;
|
|
82
79
|
_context.n = 2;
|
|
83
80
|
return (0, _auth.apiCall)(apiUrl, "/files", projectId, {
|
|
@@ -88,42 +85,17 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
88
85
|
_yield$apiCall = _context.v;
|
|
89
86
|
data = _yield$apiCall.data;
|
|
90
87
|
ok = _yield$apiCall.ok;
|
|
91
|
-
response = _yield$apiCall.response;
|
|
92
|
-
console.log('📤 Upload response status:', response.status);
|
|
93
|
-
console.log('📦 Upload response raw data............:', data);
|
|
94
88
|
if (ok) {
|
|
95
89
|
_context.n = 3;
|
|
96
90
|
break;
|
|
97
91
|
}
|
|
98
|
-
|
|
99
|
-
throw new Error("Upload failed with status: ".concat(response.status));
|
|
92
|
+
throw new Error('Upload failed');
|
|
100
93
|
case 3:
|
|
101
|
-
|
|
102
|
-
normalized = null;
|
|
103
|
-
if (typeof data === 'string') {
|
|
104
|
-
// backend returned plain URL string
|
|
105
|
-
normalized = {
|
|
106
|
-
url: data
|
|
107
|
-
};
|
|
108
|
-
} else if (data && data.url) {
|
|
109
|
-
// expected shape
|
|
110
|
-
normalized = data;
|
|
111
|
-
} else if (data && data.file && (data.file.url || data.file.path)) {
|
|
112
|
-
// grouped under `file`
|
|
113
|
-
normalized = data.file;
|
|
114
|
-
} else if (data && data.fileUrl) {
|
|
115
|
-
normalized = {
|
|
116
|
-
url: data.fileUrl
|
|
117
|
-
};
|
|
118
|
-
} else {
|
|
119
|
-
normalized = data || {};
|
|
120
|
-
}
|
|
121
|
-
console.log('🔍 Normalized upload response keys:', Object.keys(normalized || {}));
|
|
122
|
-
return _context.a(2, normalized);
|
|
94
|
+
return _context.a(2, data);
|
|
123
95
|
case 4:
|
|
124
96
|
_context.p = 4;
|
|
125
97
|
_t = _context.v;
|
|
126
|
-
console.error('
|
|
98
|
+
console.error('Error uploading file:', _t);
|
|
127
99
|
throw _t;
|
|
128
100
|
case 5:
|
|
129
101
|
return _context.a(2);
|
|
@@ -144,10 +116,8 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
144
116
|
_context3.n = 1;
|
|
145
117
|
break;
|
|
146
118
|
}
|
|
147
|
-
console.log(' Upload blocked - no files or already uploading');
|
|
148
119
|
return _context3.a(2);
|
|
149
120
|
case 1:
|
|
150
|
-
console.log(' Starting file upload process for', filesList.length, 'files');
|
|
151
121
|
setIsUploading(true);
|
|
152
122
|
setUploadProgress(0);
|
|
153
123
|
_context3.p = 2;
|
|
@@ -163,7 +133,6 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
163
133
|
isUploading: true
|
|
164
134
|
};
|
|
165
135
|
});
|
|
166
|
-
console.log(' Created placeholder files:', placeholderFiles);
|
|
167
136
|
setFiles(function (prev) {
|
|
168
137
|
return [].concat(_toConsumableArray(prev), _toConsumableArray(placeholderFiles));
|
|
169
138
|
});
|
|
@@ -173,29 +142,17 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
173
142
|
while (1) switch (_context2.n) {
|
|
174
143
|
case 0:
|
|
175
144
|
file = filesList[i];
|
|
176
|
-
console.log(" Processing file ".concat(i + 1, "/").concat(totalFiles, ":"), file.name);
|
|
177
145
|
_context2.n = 1;
|
|
178
146
|
return uploadFile(file);
|
|
179
147
|
case 1:
|
|
180
148
|
data = _context2.v;
|
|
181
|
-
console.log(' Upload successful, received data:', data);
|
|
182
149
|
uploadedFile = {
|
|
183
|
-
url:
|
|
184
|
-
name:
|
|
185
|
-
type:
|
|
186
|
-
size:
|
|
150
|
+
url: data.url,
|
|
151
|
+
name: data.originalname || file.name,
|
|
152
|
+
type: data.mimetype || file.type,
|
|
153
|
+
size: data.size || file.size,
|
|
187
154
|
isUploading: false
|
|
188
|
-
};
|
|
189
|
-
console.log(' Uploaded file URL check:', {
|
|
190
|
-
'data?.url': data === null || data === void 0 ? void 0 : data.url,
|
|
191
|
-
'data?.fileUrl': data === null || data === void 0 ? void 0 : data.fileUrl,
|
|
192
|
-
'data?.path': data === null || data === void 0 ? void 0 : data.path,
|
|
193
|
-
'data?.location': data === null || data === void 0 ? void 0 : data.location,
|
|
194
|
-
'final url': uploadedFile.url
|
|
195
|
-
});
|
|
196
|
-
console.log(' Created uploaded file object:', uploadedFile);
|
|
197
|
-
|
|
198
|
-
// Replace the placeholder with the actual file
|
|
155
|
+
}; // Replace the placeholder with the actual file
|
|
199
156
|
setFiles(function (prev) {
|
|
200
157
|
return prev.map(function (f, index) {
|
|
201
158
|
return index === prev.length - filesList.length + i ? uploadedFile : f;
|
|
@@ -204,7 +161,6 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
204
161
|
uploadedFiles.push(uploadedFile);
|
|
205
162
|
completedFiles++;
|
|
206
163
|
setUploadProgress(completedFiles / totalFiles * 100);
|
|
207
|
-
console.log("Progress: ".concat(completedFiles, "/").concat(totalFiles, " (").concat(Math.round(completedFiles / totalFiles * 100), "%)"));
|
|
208
164
|
case 2:
|
|
209
165
|
return _context2.a(2);
|
|
210
166
|
}
|
|
@@ -225,7 +181,6 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
225
181
|
updatedFiles = [].concat(_toConsumableArray(files.filter(function (f) {
|
|
226
182
|
return !f.isUploading;
|
|
227
183
|
})), uploadedFiles);
|
|
228
|
-
console.log(' All files uploaded successfully. Final files array:', updatedFiles);
|
|
229
184
|
setFiles(updatedFiles);
|
|
230
185
|
onUploadComplete === null || onUploadComplete === void 0 || onUploadComplete(updatedFiles);
|
|
231
186
|
_context3.n = 7;
|
|
@@ -233,7 +188,7 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
233
188
|
case 6:
|
|
234
189
|
_context3.p = 6;
|
|
235
190
|
_t2 = _context3.v;
|
|
236
|
-
console.error('
|
|
191
|
+
console.error('Error uploading files:', _t2);
|
|
237
192
|
onUploadError === null || onUploadError === void 0 || onUploadError(_t2);
|
|
238
193
|
|
|
239
194
|
// Remove failed uploads
|
|
@@ -244,7 +199,6 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
244
199
|
});
|
|
245
200
|
case 7:
|
|
246
201
|
_context3.p = 7;
|
|
247
|
-
console.log(' Upload process finished');
|
|
248
202
|
setIsUploading(false);
|
|
249
203
|
setTimeout(function () {
|
|
250
204
|
return setUploadProgress(0);
|
|
@@ -294,14 +248,10 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
294
248
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
295
249
|
key: index,
|
|
296
250
|
className: "group relative aspect-square bg-muted/50 rounded-md overflow-hidden border border-border hover:border-primary transition-colors"
|
|
297
|
-
}, isImage && showPreview
|
|
251
|
+
}, isImage && showPreview ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("img", {
|
|
298
252
|
src: file.url,
|
|
299
253
|
alt: file.name,
|
|
300
|
-
className: "w-full h-full object-cover ".concat(file.isUploading ? 'opacity-50' : '')
|
|
301
|
-
onError: function onError(e) {
|
|
302
|
-
console.error('❌ Image load error for:', file.url);
|
|
303
|
-
e.target.style.display = 'none';
|
|
304
|
-
}
|
|
254
|
+
className: "w-full h-full object-cover ".concat(file.isUploading ? 'opacity-50' : '')
|
|
305
255
|
}), file.isUploading && /*#__PURE__*/_react["default"].createElement("div", {
|
|
306
256
|
className: "absolute inset-0 flex items-center justify-center bg-background/20"
|
|
307
257
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -314,7 +264,7 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
314
264
|
className: "text-2xl text-muted-foreground mb-1"
|
|
315
265
|
}, fileIcon), /*#__PURE__*/_react["default"].createElement("div", {
|
|
316
266
|
className: "text-[10px] text-muted-foreground text-center truncate w-full"
|
|
317
|
-
}, file.name))), !file.isUploading &&
|
|
267
|
+
}, file.name))), !file.isUploading && /*#__PURE__*/_react["default"].createElement("div", {
|
|
318
268
|
className: "absolute inset-0 bg-black/60 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-2"
|
|
319
269
|
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
320
270
|
href: file.url,
|
package/dist/utils/auth.js
CHANGED
|
@@ -32,15 +32,12 @@ var getAuthToken = exports.getAuthToken = function getAuthToken() {
|
|
|
32
32
|
// Create headers with authentication
|
|
33
33
|
var createAuthHeaders = exports.createAuthHeaders = function createAuthHeaders() {
|
|
34
34
|
var additionalHeaders = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
35
|
-
var isFormData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
36
35
|
var token = getAuthToken();
|
|
37
|
-
|
|
36
|
+
return _objectSpread(_objectSpread({
|
|
37
|
+
'Content-Type': 'application/json'
|
|
38
|
+
}, token && {
|
|
38
39
|
'Authorization': "Bearer ".concat(token)
|
|
39
40
|
}), additionalHeaders);
|
|
40
|
-
if (!isFormData) {
|
|
41
|
-
headers['Content-Type'] = 'application/json';
|
|
42
|
-
}
|
|
43
|
-
return headers;
|
|
44
41
|
};
|
|
45
42
|
|
|
46
43
|
// API helper function with authentication
|
|
@@ -49,7 +46,6 @@ var apiCall = exports.apiCall = /*#__PURE__*/function () {
|
|
|
49
46
|
var options,
|
|
50
47
|
url,
|
|
51
48
|
separator,
|
|
52
|
-
isFormData,
|
|
53
49
|
requestConfig,
|
|
54
50
|
response,
|
|
55
51
|
data,
|
|
@@ -70,16 +66,10 @@ var apiCall = exports.apiCall = /*#__PURE__*/function () {
|
|
|
70
66
|
url = "".concat(url).concat(separator, "projectId=").concat(projectId);
|
|
71
67
|
}
|
|
72
68
|
console.log('url', url);
|
|
73
|
-
isFormData = options.body instanceof FormData;
|
|
74
69
|
requestConfig = _objectSpread({
|
|
75
|
-
headers: createAuthHeaders(options.headers
|
|
76
|
-
}, options); //
|
|
77
|
-
if (requestConfig.
|
|
78
|
-
requestConfig.headers['Cache-Control'] = 'no-cache, no-store, must-revalidate';
|
|
79
|
-
requestConfig.headers['Pragma'] = 'no-cache';
|
|
80
|
-
requestConfig.headers['Expires'] = '0';
|
|
81
|
-
}
|
|
82
|
-
if (requestConfig.body && _typeof(requestConfig.body) === 'object' && !isFormData) {
|
|
70
|
+
headers: createAuthHeaders(options.headers)
|
|
71
|
+
}, options); // If body is provided and is an object, stringify it
|
|
72
|
+
if (requestConfig.body && _typeof(requestConfig.body) === 'object' && !(requestConfig.body instanceof FormData)) {
|
|
83
73
|
requestConfig.body = JSON.stringify(requestConfig.body);
|
|
84
74
|
}
|
|
85
75
|
_context.n = 1;
|
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);
|