powr-sdk-web 5.6.6 → 5.6.7
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/activities/index.js +1 -1
- package/dist/auth/index.js +9 -7
- package/dist/blogs/index.js +1 -1
- package/dist/chat/index.js +6 -6
- package/dist/comments/index.js +4 -4
- package/dist/feeds/admin.js +2 -2
- package/dist/feeds/components/CreatePost.js +2 -2
- package/dist/feeds/components/FeedPost.js +2 -2
- package/dist/feeds/index.js +1 -1
- package/dist/forms/admin.js +3 -3
- package/dist/forms/index.js +2 -2
- package/dist/functions/admin.js +3 -3
- package/dist/invoices/admin.js +3 -3
- package/dist/invoices/index.js +1 -1
- package/dist/likes/index.js +3 -3
- package/dist/notifications/admin.js +3 -3
- package/dist/powrVerify/index.js +2 -2
- package/dist/reviews/index.js +1 -1
- package/dist/slides/admin.js +3 -3
- package/dist/swiper/index.js +1 -1
- package/dist/tasks/admin.js +6 -6
- package/dist/tasks/index.js +7 -7
- package/dist/tools/PowrBaseTools.js +6 -6
- package/dist/tools/PowrToolConfig.js +1 -1
- package/dist/uploader/index.js +2 -2
- package/dist/users/admin.js +1 -1
- package/dist/utils/firebase.js +1 -1
- package/dist/waitlists/admin.js +2 -2
- package/dist/waitlists/index.js +1 -1
- package/package.json +1 -1
- package/dist/activitySubscriptions/admin.js +0 -551
- package/dist/comments/components/UploadModal.js +0 -119
- package/dist/invoice/index.js +0 -140
package/dist/uploader/index.js
CHANGED
|
@@ -71,7 +71,7 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
71
71
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(file) {
|
|
72
72
|
var formData, _yield$apiCall, data, ok, _t;
|
|
73
73
|
return _regenerator().w(function (_context) {
|
|
74
|
-
while (1) switch (_context.n) {
|
|
74
|
+
while (1) switch (_context.p = _context.n) {
|
|
75
75
|
case 0:
|
|
76
76
|
formData = new FormData();
|
|
77
77
|
formData.append('file', file);
|
|
@@ -110,7 +110,7 @@ var PowrBaseUploader = function PowrBaseUploader(_ref) {
|
|
|
110
110
|
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(filesList) {
|
|
111
111
|
var uploadedFiles, totalFiles, completedFiles, placeholderFiles, _loop, i, updatedFiles, _t2;
|
|
112
112
|
return _regenerator().w(function (_context3) {
|
|
113
|
-
while (1) switch (_context3.n) {
|
|
113
|
+
while (1) switch (_context3.p = _context3.n) {
|
|
114
114
|
case 0:
|
|
115
115
|
if (!(!filesList || isUploading)) {
|
|
116
116
|
_context3.n = 1;
|
package/dist/users/admin.js
CHANGED
|
@@ -48,7 +48,7 @@ var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
|
48
48
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
49
49
|
var _yield$apiCall, data, ok, _t;
|
|
50
50
|
return _regenerator().w(function (_context) {
|
|
51
|
-
while (1) switch (_context.n) {
|
|
51
|
+
while (1) switch (_context.p = _context.n) {
|
|
52
52
|
case 0:
|
|
53
53
|
_context.p = 0;
|
|
54
54
|
setLoading(true);
|
package/dist/utils/firebase.js
CHANGED
|
@@ -61,7 +61,7 @@ var fireAsync = /*#__PURE__*/function () {
|
|
|
61
61
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(method, params) {
|
|
62
62
|
var callable, result, _t;
|
|
63
63
|
return _regenerator().w(function (_context) {
|
|
64
|
-
while (1) switch (_context.n) {
|
|
64
|
+
while (1) switch (_context.p = _context.n) {
|
|
65
65
|
case 0:
|
|
66
66
|
callable = (0, _functions.httpsCallable)(functions, method);
|
|
67
67
|
_context.p = 1;
|
package/dist/waitlists/admin.js
CHANGED
|
@@ -58,7 +58,7 @@ var PowrWaitListAdmin = function PowrWaitListAdmin(_ref) {
|
|
|
58
58
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
59
59
|
var _yield$apiCall, data, ok, _t;
|
|
60
60
|
return _regenerator().w(function (_context) {
|
|
61
|
-
while (1) switch (_context.n) {
|
|
61
|
+
while (1) switch (_context.p = _context.n) {
|
|
62
62
|
case 0:
|
|
63
63
|
_context.p = 0;
|
|
64
64
|
setLoading(true);
|
|
@@ -120,7 +120,7 @@ var PowrWaitListAdmin = function PowrWaitListAdmin(_ref) {
|
|
|
120
120
|
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
121
121
|
var _yield$apiCall2, result, ok, _t2;
|
|
122
122
|
return _regenerator().w(function (_context2) {
|
|
123
|
-
while (1) switch (_context2.n) {
|
|
123
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
124
124
|
case 0:
|
|
125
125
|
if (formData.email) {
|
|
126
126
|
_context2.n = 1;
|
package/dist/waitlists/index.js
CHANGED
|
@@ -45,7 +45,7 @@ var PowrWaitList = function PowrWaitList(_ref) {
|
|
|
45
45
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
|
|
46
46
|
var _yield$apiCall, data, ok, _t;
|
|
47
47
|
return _regenerator().w(function (_context) {
|
|
48
|
-
while (1) switch (_context.n) {
|
|
48
|
+
while (1) switch (_context.p = _context.n) {
|
|
49
49
|
case 0:
|
|
50
50
|
e.preventDefault();
|
|
51
51
|
setLoading(true);
|
package/package.json
CHANGED
|
@@ -1,551 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _lucideReact = require("lucide-react");
|
|
10
|
-
var _auth = require("../utils/auth");
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
-
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); }
|
|
13
|
-
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; }
|
|
14
|
-
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; }
|
|
15
|
-
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; }
|
|
16
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
17
|
-
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); }
|
|
18
|
-
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 }; })(); }
|
|
19
|
-
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); }
|
|
20
|
-
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); }
|
|
21
|
-
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); }); }; }
|
|
22
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
23
|
-
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."); }
|
|
24
|
-
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; } }
|
|
25
|
-
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; }
|
|
26
|
-
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; } }
|
|
27
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
28
|
-
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); }
|
|
29
|
-
var BASE = '/activity-subscriptions';
|
|
30
|
-
function parseJsonField(str, label, onError) {
|
|
31
|
-
var t = (str || '').trim();
|
|
32
|
-
if (!t) return {};
|
|
33
|
-
try {
|
|
34
|
-
var o = JSON.parse(t);
|
|
35
|
-
if (_typeof(o) !== 'object' || Array.isArray(o)) {
|
|
36
|
-
onError && onError("".concat(label, " must be a JSON object"));
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
return o;
|
|
40
|
-
} catch (_unused) {
|
|
41
|
-
onError && onError("Invalid JSON in ".concat(label));
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
var PowrBaseActivitySubscriptionsAdmin = function PowrBaseActivitySubscriptionsAdmin(_ref) {
|
|
46
|
-
var apiUrl = _ref.apiUrl,
|
|
47
|
-
projectId = _ref.projectId,
|
|
48
|
-
_ref$theme = _ref.theme,
|
|
49
|
-
theme = _ref$theme === void 0 ? 'blue' : _ref$theme,
|
|
50
|
-
_ref$onError = _ref.onError,
|
|
51
|
-
onError = _ref$onError === void 0 ? function (m) {
|
|
52
|
-
return alert(m);
|
|
53
|
-
} : _ref$onError,
|
|
54
|
-
_ref$onSuccess = _ref.onSuccess,
|
|
55
|
-
onSuccess = _ref$onSuccess === void 0 ? function (m) {
|
|
56
|
-
return alert(m);
|
|
57
|
-
} : _ref$onSuccess;
|
|
58
|
-
var _useState = (0, _react.useState)([]),
|
|
59
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
60
|
-
rows = _useState2[0],
|
|
61
|
-
setRows = _useState2[1];
|
|
62
|
-
var _useState3 = (0, _react.useState)(true),
|
|
63
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
64
|
-
loading = _useState4[0],
|
|
65
|
-
setLoading = _useState4[1];
|
|
66
|
-
var _useState5 = (0, _react.useState)(false),
|
|
67
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
68
|
-
modalOpen = _useState6[0],
|
|
69
|
-
setModalOpen = _useState6[1];
|
|
70
|
-
var _useState7 = (0, _react.useState)(null),
|
|
71
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
72
|
-
editing = _useState8[0],
|
|
73
|
-
setEditing = _useState8[1];
|
|
74
|
-
var _useState9 = (0, _react.useState)(null),
|
|
75
|
-
_useState0 = _slicedToArray(_useState9, 2),
|
|
76
|
-
testingId = _useState0[0],
|
|
77
|
-
setTestingId = _useState0[1];
|
|
78
|
-
var _useState1 = (0, _react.useState)({
|
|
79
|
-
name: '',
|
|
80
|
-
url: '',
|
|
81
|
-
enabled: true,
|
|
82
|
-
secret: '',
|
|
83
|
-
clearSecret: false,
|
|
84
|
-
filtersText: '{}',
|
|
85
|
-
configText: '{}'
|
|
86
|
-
}),
|
|
87
|
-
_useState10 = _slicedToArray(_useState1, 2),
|
|
88
|
-
form = _useState10[0],
|
|
89
|
-
setForm = _useState10[1];
|
|
90
|
-
var isDark = theme === 'dark';
|
|
91
|
-
var card = isDark ? 'bg-gray-800 border-gray-600 text-gray-100' : 'bg-white border-gray-200 text-gray-900';
|
|
92
|
-
var muted = isDark ? 'text-gray-400' : 'text-gray-500';
|
|
93
|
-
var load = (0, _react.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
94
|
-
var _yield$apiCall, data, ok, _t;
|
|
95
|
-
return _regenerator().w(function (_context) {
|
|
96
|
-
while (1) switch (_context.n) {
|
|
97
|
-
case 0:
|
|
98
|
-
setLoading(true);
|
|
99
|
-
_context.p = 1;
|
|
100
|
-
_context.n = 2;
|
|
101
|
-
return (0, _auth.apiCall)(apiUrl, BASE, projectId);
|
|
102
|
-
case 2:
|
|
103
|
-
_yield$apiCall = _context.v;
|
|
104
|
-
data = _yield$apiCall.data;
|
|
105
|
-
ok = _yield$apiCall.ok;
|
|
106
|
-
if (ok && data.success) {
|
|
107
|
-
setRows(data.data || []);
|
|
108
|
-
} else {
|
|
109
|
-
onError((data === null || data === void 0 ? void 0 : data.message) || 'Failed to load activity subscriptions');
|
|
110
|
-
}
|
|
111
|
-
_context.n = 4;
|
|
112
|
-
break;
|
|
113
|
-
case 3:
|
|
114
|
-
_context.p = 3;
|
|
115
|
-
_t = _context.v;
|
|
116
|
-
console.error(_t);
|
|
117
|
-
onError('Failed to load activity subscriptions');
|
|
118
|
-
case 4:
|
|
119
|
-
_context.p = 4;
|
|
120
|
-
setLoading(false);
|
|
121
|
-
return _context.f(4);
|
|
122
|
-
case 5:
|
|
123
|
-
return _context.a(2);
|
|
124
|
-
}
|
|
125
|
-
}, _callee, null, [[1, 3, 4, 5]]);
|
|
126
|
-
})), [apiUrl, projectId, onError]);
|
|
127
|
-
(0, _react.useEffect)(function () {
|
|
128
|
-
load();
|
|
129
|
-
}, [load]);
|
|
130
|
-
var openCreate = function openCreate() {
|
|
131
|
-
setEditing(null);
|
|
132
|
-
setForm({
|
|
133
|
-
name: '',
|
|
134
|
-
url: '',
|
|
135
|
-
enabled: true,
|
|
136
|
-
secret: '',
|
|
137
|
-
clearSecret: false,
|
|
138
|
-
filtersText: '{}',
|
|
139
|
-
configText: '{}'
|
|
140
|
-
});
|
|
141
|
-
setModalOpen(true);
|
|
142
|
-
};
|
|
143
|
-
var openEdit = function openEdit(row) {
|
|
144
|
-
setEditing(row);
|
|
145
|
-
setForm({
|
|
146
|
-
name: row.name || '',
|
|
147
|
-
url: row.url || '',
|
|
148
|
-
enabled: row.enabled !== false,
|
|
149
|
-
secret: '',
|
|
150
|
-
clearSecret: false,
|
|
151
|
-
filtersText: JSON.stringify(row.filters || {}, null, 2),
|
|
152
|
-
configText: JSON.stringify(row.config || {}, null, 2)
|
|
153
|
-
});
|
|
154
|
-
setModalOpen(true);
|
|
155
|
-
};
|
|
156
|
-
var submit = /*#__PURE__*/function () {
|
|
157
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e) {
|
|
158
|
-
var filters, config, body, _yield$apiCall2, data, ok, _body, _yield$apiCall3, _data, _ok, _t2;
|
|
159
|
-
return _regenerator().w(function (_context2) {
|
|
160
|
-
while (1) switch (_context2.n) {
|
|
161
|
-
case 0:
|
|
162
|
-
e.preventDefault();
|
|
163
|
-
filters = parseJsonField(form.filtersText, 'Filters', onError);
|
|
164
|
-
config = parseJsonField(form.configText, 'Config', onError);
|
|
165
|
-
if (!(filters === null || config === null)) {
|
|
166
|
-
_context2.n = 1;
|
|
167
|
-
break;
|
|
168
|
-
}
|
|
169
|
-
return _context2.a(2);
|
|
170
|
-
case 1:
|
|
171
|
-
_context2.p = 1;
|
|
172
|
-
if (!editing) {
|
|
173
|
-
_context2.n = 3;
|
|
174
|
-
break;
|
|
175
|
-
}
|
|
176
|
-
body = {
|
|
177
|
-
url: form.url.trim(),
|
|
178
|
-
name: form.name.trim(),
|
|
179
|
-
enabled: form.enabled,
|
|
180
|
-
filters: filters,
|
|
181
|
-
config: config
|
|
182
|
-
};
|
|
183
|
-
if (form.clearSecret) body.secret = '';else if (form.secret.trim()) body.secret = form.secret.trim();
|
|
184
|
-
_context2.n = 2;
|
|
185
|
-
return (0, _auth.apiCall)(apiUrl, "".concat(BASE, "/").concat(editing._id), projectId, {
|
|
186
|
-
method: 'PATCH',
|
|
187
|
-
body: body
|
|
188
|
-
});
|
|
189
|
-
case 2:
|
|
190
|
-
_yield$apiCall2 = _context2.v;
|
|
191
|
-
data = _yield$apiCall2.data;
|
|
192
|
-
ok = _yield$apiCall2.ok;
|
|
193
|
-
if (ok && data.success) {
|
|
194
|
-
onSuccess('Subscription updated');
|
|
195
|
-
setModalOpen(false);
|
|
196
|
-
load();
|
|
197
|
-
} else {
|
|
198
|
-
onError((data === null || data === void 0 ? void 0 : data.message) || 'Update failed');
|
|
199
|
-
}
|
|
200
|
-
_context2.n = 5;
|
|
201
|
-
break;
|
|
202
|
-
case 3:
|
|
203
|
-
_body = {
|
|
204
|
-
url: form.url.trim(),
|
|
205
|
-
name: form.name.trim(),
|
|
206
|
-
enabled: form.enabled,
|
|
207
|
-
filters: filters,
|
|
208
|
-
config: config
|
|
209
|
-
};
|
|
210
|
-
if (form.secret.trim()) _body.secret = form.secret.trim();
|
|
211
|
-
_context2.n = 4;
|
|
212
|
-
return (0, _auth.apiCall)(apiUrl, BASE, projectId, {
|
|
213
|
-
method: 'POST',
|
|
214
|
-
body: _body
|
|
215
|
-
});
|
|
216
|
-
case 4:
|
|
217
|
-
_yield$apiCall3 = _context2.v;
|
|
218
|
-
_data = _yield$apiCall3.data;
|
|
219
|
-
_ok = _yield$apiCall3.ok;
|
|
220
|
-
if (_ok && _data.success) {
|
|
221
|
-
onSuccess('Subscription created');
|
|
222
|
-
setModalOpen(false);
|
|
223
|
-
load();
|
|
224
|
-
} else {
|
|
225
|
-
onError((_data === null || _data === void 0 ? void 0 : _data.message) || 'Create failed');
|
|
226
|
-
}
|
|
227
|
-
case 5:
|
|
228
|
-
_context2.n = 7;
|
|
229
|
-
break;
|
|
230
|
-
case 6:
|
|
231
|
-
_context2.p = 6;
|
|
232
|
-
_t2 = _context2.v;
|
|
233
|
-
console.error(_t2);
|
|
234
|
-
onError('Request failed');
|
|
235
|
-
case 7:
|
|
236
|
-
return _context2.a(2);
|
|
237
|
-
}
|
|
238
|
-
}, _callee2, null, [[1, 6]]);
|
|
239
|
-
}));
|
|
240
|
-
return function submit(_x) {
|
|
241
|
-
return _ref3.apply(this, arguments);
|
|
242
|
-
};
|
|
243
|
-
}();
|
|
244
|
-
var remove = /*#__PURE__*/function () {
|
|
245
|
-
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(id) {
|
|
246
|
-
var _yield$apiCall4, data, ok, _t3;
|
|
247
|
-
return _regenerator().w(function (_context3) {
|
|
248
|
-
while (1) switch (_context3.n) {
|
|
249
|
-
case 0:
|
|
250
|
-
if (window.confirm('Delete this webhook subscription?')) {
|
|
251
|
-
_context3.n = 1;
|
|
252
|
-
break;
|
|
253
|
-
}
|
|
254
|
-
return _context3.a(2);
|
|
255
|
-
case 1:
|
|
256
|
-
_context3.p = 1;
|
|
257
|
-
_context3.n = 2;
|
|
258
|
-
return (0, _auth.apiCall)(apiUrl, "".concat(BASE, "/").concat(id), projectId, {
|
|
259
|
-
method: 'DELETE'
|
|
260
|
-
});
|
|
261
|
-
case 2:
|
|
262
|
-
_yield$apiCall4 = _context3.v;
|
|
263
|
-
data = _yield$apiCall4.data;
|
|
264
|
-
ok = _yield$apiCall4.ok;
|
|
265
|
-
if (ok && data.success) {
|
|
266
|
-
onSuccess('Deleted');
|
|
267
|
-
load();
|
|
268
|
-
} else {
|
|
269
|
-
onError((data === null || data === void 0 ? void 0 : data.message) || 'Delete failed');
|
|
270
|
-
}
|
|
271
|
-
_context3.n = 4;
|
|
272
|
-
break;
|
|
273
|
-
case 3:
|
|
274
|
-
_context3.p = 3;
|
|
275
|
-
_t3 = _context3.v;
|
|
276
|
-
onError('Delete failed');
|
|
277
|
-
case 4:
|
|
278
|
-
return _context3.a(2);
|
|
279
|
-
}
|
|
280
|
-
}, _callee3, null, [[1, 3]]);
|
|
281
|
-
}));
|
|
282
|
-
return function remove(_x2) {
|
|
283
|
-
return _ref4.apply(this, arguments);
|
|
284
|
-
};
|
|
285
|
-
}();
|
|
286
|
-
var testWebhook = /*#__PURE__*/function () {
|
|
287
|
-
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id) {
|
|
288
|
-
var _yield$apiCall5, data, ok, msg, extra, _t4;
|
|
289
|
-
return _regenerator().w(function (_context4) {
|
|
290
|
-
while (1) switch (_context4.n) {
|
|
291
|
-
case 0:
|
|
292
|
-
setTestingId(id);
|
|
293
|
-
_context4.p = 1;
|
|
294
|
-
_context4.n = 2;
|
|
295
|
-
return (0, _auth.apiCall)(apiUrl, "".concat(BASE, "/").concat(id, "/test"), projectId, {
|
|
296
|
-
method: 'POST',
|
|
297
|
-
body: {}
|
|
298
|
-
});
|
|
299
|
-
case 2:
|
|
300
|
-
_yield$apiCall5 = _context4.v;
|
|
301
|
-
data = _yield$apiCall5.data;
|
|
302
|
-
ok = _yield$apiCall5.ok;
|
|
303
|
-
if (ok && data.success) {
|
|
304
|
-
msg = data.delivered ? "Webhook OK \u2014 HTTP ".concat(data.statusCode) : "Webhook responded HTTP ".concat(data.statusCode, " (not 2xx)");
|
|
305
|
-
extra = data.bodyPreview ? "\n\nResponse preview:\n".concat(data.bodyPreview) : '';
|
|
306
|
-
onSuccess(msg + extra);
|
|
307
|
-
} else {
|
|
308
|
-
onError((data === null || data === void 0 ? void 0 : data.message) || 'Test failed');
|
|
309
|
-
}
|
|
310
|
-
_context4.n = 4;
|
|
311
|
-
break;
|
|
312
|
-
case 3:
|
|
313
|
-
_context4.p = 3;
|
|
314
|
-
_t4 = _context4.v;
|
|
315
|
-
onError(_t4.message || 'Test failed');
|
|
316
|
-
case 4:
|
|
317
|
-
_context4.p = 4;
|
|
318
|
-
setTestingId(null);
|
|
319
|
-
return _context4.f(4);
|
|
320
|
-
case 5:
|
|
321
|
-
return _context4.a(2);
|
|
322
|
-
}
|
|
323
|
-
}, _callee4, null, [[1, 3, 4, 5]]);
|
|
324
|
-
}));
|
|
325
|
-
return function testWebhook(_x3) {
|
|
326
|
-
return _ref5.apply(this, arguments);
|
|
327
|
-
};
|
|
328
|
-
}();
|
|
329
|
-
if (loading) {
|
|
330
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
331
|
-
className: "p-8 text-center ".concat(muted)
|
|
332
|
-
}, "Loading activity webhooks\u2026");
|
|
333
|
-
}
|
|
334
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
335
|
-
className: "rounded-lg border shadow-sm ".concat(card)
|
|
336
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
337
|
-
className: "px-6 py-4 border-b flex flex-wrap justify-between gap-4 items-center ".concat(isDark ? 'border-gray-600' : 'border-gray-200')
|
|
338
|
-
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h3", {
|
|
339
|
-
className: "text-lg font-semibold flex items-center gap-2"
|
|
340
|
-
}, /*#__PURE__*/_react["default"].createElement(_lucideReact.Webhook, {
|
|
341
|
-
className: "w-5 h-5"
|
|
342
|
-
}), "Activity webhooks"), /*#__PURE__*/_react["default"].createElement("p", {
|
|
343
|
-
className: "text-sm mt-1 ".concat(muted)
|
|
344
|
-
}, "POST JSON to your URL when Powr activities fire. Same UI on every app \u2014 point ", /*#__PURE__*/_react["default"].createElement("code", {
|
|
345
|
-
className: "text-xs"
|
|
346
|
-
}, "apiUrl"), " +", ' ', /*#__PURE__*/_react["default"].createElement("code", {
|
|
347
|
-
className: "text-xs"
|
|
348
|
-
}, "projectId"), " at your Powr API.")), /*#__PURE__*/_react["default"].createElement("button", {
|
|
349
|
-
type: "button",
|
|
350
|
-
onClick: openCreate,
|
|
351
|
-
className: "inline-flex items-center gap-2 px-4 py-2 rounded-md text-sm font-medium text-white bg-blue-600 hover:bg-blue-700"
|
|
352
|
-
}, /*#__PURE__*/_react["default"].createElement(_lucideReact.Plus, {
|
|
353
|
-
size: 18
|
|
354
|
-
}), "Add webhook")), /*#__PURE__*/_react["default"].createElement("div", {
|
|
355
|
-
className: "overflow-x-auto"
|
|
356
|
-
}, /*#__PURE__*/_react["default"].createElement("table", {
|
|
357
|
-
className: "min-w-full text-sm"
|
|
358
|
-
}, /*#__PURE__*/_react["default"].createElement("thead", {
|
|
359
|
-
className: isDark ? 'bg-gray-900/50' : 'bg-gray-50'
|
|
360
|
-
}, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", {
|
|
361
|
-
className: "px-4 py-3 text-left font-medium"
|
|
362
|
-
}, "Name"), /*#__PURE__*/_react["default"].createElement("th", {
|
|
363
|
-
className: "px-4 py-3 text-left font-medium"
|
|
364
|
-
}, "URL"), /*#__PURE__*/_react["default"].createElement("th", {
|
|
365
|
-
className: "px-4 py-3 text-left font-medium"
|
|
366
|
-
}, "Status"), /*#__PURE__*/_react["default"].createElement("th", {
|
|
367
|
-
className: "px-4 py-3 text-left font-medium"
|
|
368
|
-
}, "Secret"), /*#__PURE__*/_react["default"].createElement("th", {
|
|
369
|
-
className: "px-4 py-3 text-right font-medium"
|
|
370
|
-
}, "Actions"))), /*#__PURE__*/_react["default"].createElement("tbody", null, rows.length === 0 ? /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
|
|
371
|
-
colSpan: 5,
|
|
372
|
-
className: "px-4 py-8 text-center ".concat(muted)
|
|
373
|
-
}, "No subscriptions yet. Add a webhook to receive activity payloads.")) : rows.map(function (row) {
|
|
374
|
-
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
375
|
-
key: row._id,
|
|
376
|
-
className: isDark ? 'border-t border-gray-600' : 'border-t border-gray-100'
|
|
377
|
-
}, /*#__PURE__*/_react["default"].createElement("td", {
|
|
378
|
-
className: "px-4 py-3 font-medium"
|
|
379
|
-
}, row.name || '—'), /*#__PURE__*/_react["default"].createElement("td", {
|
|
380
|
-
className: "px-4 py-3 max-w-xs truncate font-mono text-xs"
|
|
381
|
-
}, row.url), /*#__PURE__*/_react["default"].createElement("td", {
|
|
382
|
-
className: "px-4 py-3"
|
|
383
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
384
|
-
className: row.enabled ? 'text-green-600 dark:text-green-400' : 'text-amber-600'
|
|
385
|
-
}, row.enabled ? 'Enabled' : 'Disabled')), /*#__PURE__*/_react["default"].createElement("td", {
|
|
386
|
-
className: "px-4 py-3"
|
|
387
|
-
}, row.hasSecret ? /*#__PURE__*/_react["default"].createElement(_lucideReact.ShieldCheck, {
|
|
388
|
-
className: "w-4 h-4 text-green-600 inline",
|
|
389
|
-
title: "HMAC signing enabled"
|
|
390
|
-
}) : /*#__PURE__*/_react["default"].createElement(_lucideReact.ShieldOff, {
|
|
391
|
-
className: "w-4 h-4 inline ".concat(muted),
|
|
392
|
-
title: "No secret"
|
|
393
|
-
})), /*#__PURE__*/_react["default"].createElement("td", {
|
|
394
|
-
className: "px-4 py-3 text-right whitespace-nowrap"
|
|
395
|
-
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
396
|
-
type: "button",
|
|
397
|
-
onClick: function onClick() {
|
|
398
|
-
return testWebhook(row._id);
|
|
399
|
-
},
|
|
400
|
-
disabled: testingId === row._id || !row.enabled,
|
|
401
|
-
className: "text-blue-600 hover:text-blue-800 mr-3 disabled:opacity-40",
|
|
402
|
-
title: "Send sample payload"
|
|
403
|
-
}, /*#__PURE__*/_react["default"].createElement(_lucideReact.Send, {
|
|
404
|
-
size: 16,
|
|
405
|
-
className: "inline"
|
|
406
|
-
})), /*#__PURE__*/_react["default"].createElement("button", {
|
|
407
|
-
type: "button",
|
|
408
|
-
onClick: function onClick() {
|
|
409
|
-
return openEdit(row);
|
|
410
|
-
},
|
|
411
|
-
className: "text-amber-600 hover:text-amber-800 mr-3"
|
|
412
|
-
}, /*#__PURE__*/_react["default"].createElement(_lucideReact.Edit, {
|
|
413
|
-
size: 16,
|
|
414
|
-
className: "inline"
|
|
415
|
-
})), /*#__PURE__*/_react["default"].createElement("button", {
|
|
416
|
-
type: "button",
|
|
417
|
-
onClick: function onClick() {
|
|
418
|
-
return remove(row._id);
|
|
419
|
-
},
|
|
420
|
-
className: "text-red-600 hover:text-red-800"
|
|
421
|
-
}, /*#__PURE__*/_react["default"].createElement(_lucideReact.Trash2, {
|
|
422
|
-
size: 16,
|
|
423
|
-
className: "inline"
|
|
424
|
-
}))));
|
|
425
|
-
})))), modalOpen && /*#__PURE__*/_react["default"].createElement("div", {
|
|
426
|
-
className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50"
|
|
427
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
428
|
-
className: "w-full max-w-lg rounded-xl shadow-xl max-h-[90vh] overflow-y-auto ".concat(isDark ? 'bg-gray-800 text-gray-100' : 'bg-white text-gray-900')
|
|
429
|
-
}, /*#__PURE__*/_react["default"].createElement("form", {
|
|
430
|
-
onSubmit: submit,
|
|
431
|
-
className: "p-6 space-y-4"
|
|
432
|
-
}, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
433
|
-
className: "text-lg font-semibold"
|
|
434
|
-
}, editing ? 'Edit webhook' : 'New webhook'), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
435
|
-
className: "block text-sm font-medium mb-1"
|
|
436
|
-
}, "Name"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
437
|
-
className: "w-full border rounded-md px-3 py-2 text-sm ".concat(isDark ? 'bg-gray-900 border-gray-600' : 'bg-white border-gray-300'),
|
|
438
|
-
value: form.name,
|
|
439
|
-
onChange: function onChange(e) {
|
|
440
|
-
return setForm(function (f) {
|
|
441
|
-
return _objectSpread(_objectSpread({}, f), {}, {
|
|
442
|
-
name: e.target.value
|
|
443
|
-
});
|
|
444
|
-
});
|
|
445
|
-
},
|
|
446
|
-
placeholder: "e.g. Spriny prod"
|
|
447
|
-
})), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
448
|
-
className: "block text-sm font-medium mb-1"
|
|
449
|
-
}, "Webhook URL *"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
450
|
-
required: true,
|
|
451
|
-
className: "w-full border rounded-md px-3 py-2 text-sm font-mono ".concat(isDark ? 'bg-gray-900 border-gray-600' : 'bg-white border-gray-300'),
|
|
452
|
-
value: form.url,
|
|
453
|
-
onChange: function onChange(e) {
|
|
454
|
-
return setForm(function (f) {
|
|
455
|
-
return _objectSpread(_objectSpread({}, f), {}, {
|
|
456
|
-
url: e.target.value
|
|
457
|
-
});
|
|
458
|
-
});
|
|
459
|
-
},
|
|
460
|
-
placeholder: "https://api.example.com/webhooks/powr"
|
|
461
|
-
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
462
|
-
className: "flex items-center gap-2"
|
|
463
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
464
|
-
id: "sub-enabled",
|
|
465
|
-
type: "checkbox",
|
|
466
|
-
checked: form.enabled,
|
|
467
|
-
onChange: function onChange(e) {
|
|
468
|
-
return setForm(function (f) {
|
|
469
|
-
return _objectSpread(_objectSpread({}, f), {}, {
|
|
470
|
-
enabled: e.target.checked
|
|
471
|
-
});
|
|
472
|
-
});
|
|
473
|
-
}
|
|
474
|
-
}), /*#__PURE__*/_react["default"].createElement("label", {
|
|
475
|
-
htmlFor: "sub-enabled",
|
|
476
|
-
className: "text-sm"
|
|
477
|
-
}, "Enabled")), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
478
|
-
className: "block text-sm font-medium mb-1"
|
|
479
|
-
}, editing ? 'New secret (optional; leave empty to keep current)' : 'Secret (optional, HMAC SHA256 → X-Powr-Signature)'), /*#__PURE__*/_react["default"].createElement("input", {
|
|
480
|
-
type: "password",
|
|
481
|
-
autoComplete: "new-password",
|
|
482
|
-
className: "w-full border rounded-md px-3 py-2 text-sm ".concat(isDark ? 'bg-gray-900 border-gray-600' : 'bg-white border-gray-300'),
|
|
483
|
-
value: form.secret,
|
|
484
|
-
onChange: function onChange(e) {
|
|
485
|
-
return setForm(function (f) {
|
|
486
|
-
return _objectSpread(_objectSpread({}, f), {}, {
|
|
487
|
-
secret: e.target.value
|
|
488
|
-
});
|
|
489
|
-
});
|
|
490
|
-
},
|
|
491
|
-
placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"
|
|
492
|
-
}), editing && /*#__PURE__*/_react["default"].createElement("label", {
|
|
493
|
-
className: "flex items-center gap-2 mt-2 text-sm"
|
|
494
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
495
|
-
type: "checkbox",
|
|
496
|
-
checked: form.clearSecret,
|
|
497
|
-
onChange: function onChange(e) {
|
|
498
|
-
return setForm(function (f) {
|
|
499
|
-
return _objectSpread(_objectSpread({}, f), {}, {
|
|
500
|
-
clearSecret: e.target.checked,
|
|
501
|
-
secret: e.target.checked ? '' : f.secret
|
|
502
|
-
});
|
|
503
|
-
});
|
|
504
|
-
}
|
|
505
|
-
}), "Clear stored secret")), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
506
|
-
className: "block text-sm font-medium mb-1"
|
|
507
|
-
}, "Filters (JSON object)"), /*#__PURE__*/_react["default"].createElement("textarea", {
|
|
508
|
-
rows: 4,
|
|
509
|
-
className: "w-full border rounded-md px-3 py-2 text-xs font-mono ".concat(isDark ? 'bg-gray-900 border-gray-600' : 'bg-white border-gray-300'),
|
|
510
|
-
value: form.filtersText,
|
|
511
|
-
onChange: function onChange(e) {
|
|
512
|
-
return setForm(function (f) {
|
|
513
|
-
return _objectSpread(_objectSpread({}, f), {}, {
|
|
514
|
-
filtersText: e.target.value
|
|
515
|
-
});
|
|
516
|
-
});
|
|
517
|
-
}
|
|
518
|
-
})), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
519
|
-
className: "block text-sm font-medium mb-1"
|
|
520
|
-
}, "Config (JSON object)"), /*#__PURE__*/_react["default"].createElement("textarea", {
|
|
521
|
-
rows: 3,
|
|
522
|
-
className: "w-full border rounded-md px-3 py-2 text-xs font-mono ".concat(isDark ? 'bg-gray-900 border-gray-600' : 'bg-white border-gray-300'),
|
|
523
|
-
value: form.configText,
|
|
524
|
-
onChange: function onChange(e) {
|
|
525
|
-
return setForm(function (f) {
|
|
526
|
-
return _objectSpread(_objectSpread({}, f), {}, {
|
|
527
|
-
configText: e.target.value
|
|
528
|
-
});
|
|
529
|
-
});
|
|
530
|
-
}
|
|
531
|
-
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
532
|
-
className: "flex justify-end gap-2 pt-2"
|
|
533
|
-
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
534
|
-
type: "button",
|
|
535
|
-
onClick: function onClick() {
|
|
536
|
-
return setModalOpen(false);
|
|
537
|
-
},
|
|
538
|
-
className: "px-4 py-2 rounded-md text-sm ".concat(isDark ? 'bg-gray-700 hover:bg-gray-600' : 'bg-gray-100 hover:bg-gray-200')
|
|
539
|
-
}, "Cancel"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
540
|
-
type: "submit",
|
|
541
|
-
className: "px-4 py-2 rounded-md text-sm text-white bg-blue-600 hover:bg-blue-700"
|
|
542
|
-
}, editing ? 'Save' : 'Create'))))));
|
|
543
|
-
};
|
|
544
|
-
PowrBaseActivitySubscriptionsAdmin.propTypes = {
|
|
545
|
-
apiUrl: _propTypes["default"].string,
|
|
546
|
-
projectId: _propTypes["default"].string,
|
|
547
|
-
theme: _propTypes["default"].oneOf(['blue', 'dark']),
|
|
548
|
-
onError: _propTypes["default"].func,
|
|
549
|
-
onSuccess: _propTypes["default"].func
|
|
550
|
-
};
|
|
551
|
-
var _default = exports["default"] = PowrBaseActivitySubscriptionsAdmin;
|