@blocklet/launcher-workflow 1.5.62 → 1.5.63
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/lib/components/instance-operation.js +3 -3
- package/lib/components/stripe/checkout.js +23 -10
- package/lib/components/stripe/paying.js +19 -7
- package/lib/index.js +35 -2
- package/lib/locales/en.js +8 -4
- package/lib/locales/zh.js +6 -4
- package/lib/prepare.js +3 -3
- package/lib/purchase.js +25 -16
- package/package.json +8 -7
- package/lib/constant.js +0 -31
|
@@ -23,6 +23,8 @@ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
|
23
23
|
|
|
24
24
|
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
25
25
|
|
|
26
|
+
var _launcherConstant = require("@blocklet/launcher-constant");
|
|
27
|
+
|
|
26
28
|
var _util = require("../util");
|
|
27
29
|
|
|
28
30
|
var _query = _interopRequireDefault(require("../hooks/query"));
|
|
@@ -33,8 +35,6 @@ var _router = _interopRequireDefault(require("../contexts/router"));
|
|
|
33
35
|
|
|
34
36
|
var _locale = require("../contexts/locale");
|
|
35
37
|
|
|
36
|
-
var _constant = require("../constant");
|
|
37
|
-
|
|
38
38
|
var _pageHeader = _interopRequireDefault(require("./page-header"));
|
|
39
39
|
|
|
40
40
|
var _launchResultMessage = _interopRequireDefault(require("./launch-result-message"));
|
|
@@ -92,7 +92,7 @@ function OperationPage(_ref) {
|
|
|
92
92
|
}
|
|
93
93
|
} = await api.get("/public/instances/".concat(nftId, "/status"));
|
|
94
94
|
|
|
95
|
-
if (instance.status >=
|
|
95
|
+
if (instance.status >= _launcherConstant.INSTANCE_STATUS.running) {
|
|
96
96
|
const url = (0, _util.getLaunchBlockletUrl)(instance.serverUrl, blockletMetaUrl, locale);
|
|
97
97
|
setLaunchState(pre => _objectSpread(_objectSpread({}, pre), {}, {
|
|
98
98
|
status: STATUS.success,
|
|
@@ -21,6 +21,8 @@ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
|
21
21
|
|
|
22
22
|
var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
|
|
23
23
|
|
|
24
|
+
var _launcherConstant = require("@blocklet/launcher-constant");
|
|
25
|
+
|
|
24
26
|
var _locale = require("../../contexts/locale");
|
|
25
27
|
|
|
26
28
|
var _paying = _interopRequireDefault(require("./paying"));
|
|
@@ -34,7 +36,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
34
36
|
function CheckoutForm(_ref) {
|
|
35
37
|
let {
|
|
36
38
|
clientSecret,
|
|
37
|
-
|
|
39
|
+
onLoad
|
|
38
40
|
} = _ref;
|
|
39
41
|
const stripe = (0, _reactStripeJs.useStripe)();
|
|
40
42
|
const elements = (0, _reactStripeJs.useElements)();
|
|
@@ -104,7 +106,7 @@ function CheckoutForm(_ref) {
|
|
|
104
106
|
return;
|
|
105
107
|
}
|
|
106
108
|
|
|
107
|
-
|
|
109
|
+
onLoad();
|
|
108
110
|
};
|
|
109
111
|
|
|
110
112
|
return /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("form", {
|
|
@@ -132,7 +134,7 @@ const Content = _styledComponents.default.div.withConfig({
|
|
|
132
134
|
|
|
133
135
|
CheckoutForm.propTypes = {
|
|
134
136
|
clientSecret: _propTypes.default.string.isRequired,
|
|
135
|
-
|
|
137
|
+
onLoad: _propTypes.default.func.isRequired
|
|
136
138
|
};
|
|
137
139
|
|
|
138
140
|
function Checkout(_ref3) {
|
|
@@ -140,11 +142,16 @@ function Checkout(_ref3) {
|
|
|
140
142
|
clientSecret,
|
|
141
143
|
orderId,
|
|
142
144
|
userDid,
|
|
143
|
-
|
|
144
|
-
onCancel
|
|
145
|
+
onComplete,
|
|
146
|
+
onCancel,
|
|
147
|
+
status
|
|
145
148
|
} = _ref3;
|
|
146
149
|
const [open, setOpen] = (0, _react.useState)(true);
|
|
147
|
-
const
|
|
150
|
+
const {
|
|
151
|
+
t
|
|
152
|
+
} = (0, _locale.useLocaleContext)();
|
|
153
|
+
const [showCloseButton, setShowCloseButton] = (0, _react.useState)(true);
|
|
154
|
+
const [waitingCompleted, setWaitingCompleted] = (0, _react.useState)(status === _launcherConstant.ORDER_STATUS.paid);
|
|
148
155
|
const stripePromise = (0, _stripeJs.loadStripe)(window.env.stripePublicKey);
|
|
149
156
|
const options = {
|
|
150
157
|
clientSecret,
|
|
@@ -153,7 +160,9 @@ function Checkout(_ref3) {
|
|
|
153
160
|
}
|
|
154
161
|
};
|
|
155
162
|
|
|
156
|
-
const
|
|
163
|
+
const handleLoad = () => setWaitingCompleted(true);
|
|
164
|
+
|
|
165
|
+
const handlePaid = () => setShowCloseButton(false);
|
|
157
166
|
|
|
158
167
|
const handleClose = (_, reason) => {
|
|
159
168
|
if (reason === 'backdropClick') {
|
|
@@ -165,27 +174,31 @@ function Checkout(_ref3) {
|
|
|
165
174
|
};
|
|
166
175
|
|
|
167
176
|
return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
|
|
177
|
+
title: t('common.pay'),
|
|
178
|
+
showCloseButton: showCloseButton,
|
|
168
179
|
open: open,
|
|
169
180
|
onClose: handleClose,
|
|
170
181
|
disableEscapeKeyDown: true
|
|
171
182
|
}, waitingCompleted && /*#__PURE__*/_react.default.createElement(_paying.default, {
|
|
172
183
|
orderId: orderId,
|
|
173
184
|
userDid: userDid,
|
|
174
|
-
|
|
185
|
+
onComplete: onComplete,
|
|
186
|
+
onPaid: handlePaid
|
|
175
187
|
}), !waitingCompleted && /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
176
188
|
options: options,
|
|
177
189
|
stripe: stripePromise
|
|
178
190
|
}, /*#__PURE__*/_react.default.createElement(CheckoutForm, {
|
|
179
191
|
clientSecret: clientSecret,
|
|
180
|
-
|
|
192
|
+
onLoad: handleLoad
|
|
181
193
|
})));
|
|
182
194
|
}
|
|
183
195
|
|
|
184
196
|
Checkout.propTypes = {
|
|
185
197
|
clientSecret: _propTypes.default.string.isRequired,
|
|
186
198
|
orderId: _propTypes.default.string.isRequired,
|
|
199
|
+
status: _propTypes.default.number.isRequired,
|
|
187
200
|
userDid: _propTypes.default.string.isRequired,
|
|
188
|
-
|
|
201
|
+
onComplete: _propTypes.default.func.isRequired,
|
|
189
202
|
onCancel: _propTypes.default.func
|
|
190
203
|
};
|
|
191
204
|
Checkout.defaultProps = {
|
|
@@ -17,6 +17,10 @@ var _useInterval = _interopRequireDefault(require("react-use/lib/useInterval"));
|
|
|
17
17
|
|
|
18
18
|
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
19
19
|
|
|
20
|
+
var _launcherConstant = require("@blocklet/launcher-constant");
|
|
21
|
+
|
|
22
|
+
var _Check = _interopRequireDefault(require("@material-ui/icons/Check"));
|
|
23
|
+
|
|
20
24
|
var _locale = require("../../contexts/locale");
|
|
21
25
|
|
|
22
26
|
var _request = _interopRequireDefault(require("../../contexts/request"));
|
|
@@ -30,14 +34,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
30
34
|
function Paying(_ref) {
|
|
31
35
|
let {
|
|
32
36
|
orderId,
|
|
37
|
+
userDid,
|
|
33
38
|
onPaid,
|
|
34
|
-
|
|
39
|
+
onComplete
|
|
35
40
|
} = _ref;
|
|
36
41
|
const {
|
|
37
42
|
t
|
|
38
43
|
} = (0, _locale.useLocaleContext)();
|
|
39
44
|
const [needFetchOrderStatus, setNeedFetchOrderStatus] = (0, _react.useState)(true);
|
|
40
|
-
const [status, setStatus] = (0, _react.useState)(
|
|
45
|
+
const [status, setStatus] = (0, _react.useState)(_launcherConstant.ORDER_STATUS.unpaid);
|
|
41
46
|
const {
|
|
42
47
|
api
|
|
43
48
|
} = (0, _request.default)();
|
|
@@ -46,29 +51,36 @@ function Paying(_ref) {
|
|
|
46
51
|
data: order
|
|
47
52
|
} = await api.get("/orders/".concat(orderId, "?userDid=").concat(userDid));
|
|
48
53
|
|
|
49
|
-
if (order.status ===
|
|
54
|
+
if (order.status === _launcherConstant.ORDER_STATUS.nftSent) {
|
|
50
55
|
fetchOrder.cancel();
|
|
51
56
|
setNeedFetchOrderStatus(false);
|
|
52
|
-
setTimeout(() =>
|
|
57
|
+
setTimeout(() => onComplete({
|
|
53
58
|
nftId: order.nftId
|
|
54
59
|
}), 2000);
|
|
55
60
|
}
|
|
56
61
|
|
|
62
|
+
if (order.status >= _launcherConstant.ORDER_STATUS.paid) {
|
|
63
|
+
onPaid();
|
|
64
|
+
}
|
|
65
|
+
|
|
57
66
|
setStatus(order.status);
|
|
58
67
|
}, 3000);
|
|
59
68
|
(0, _useInterval.default)(fetchOrder, needFetchOrderStatus ? 3000 : null);
|
|
60
|
-
return /*#__PURE__*/_react.default.createElement(Content, null, status
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement(Content, null, status <= _launcherConstant.ORDER_STATUS.paid && /*#__PURE__*/_react.default.createElement(_Spinner.default, null), status === _launcherConstant.ORDER_STATUS.nftSent && /*#__PURE__*/_react.default.createElement(_Check.default, {
|
|
70
|
+
className: "status--succeed_icon"
|
|
71
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
61
72
|
className: "status"
|
|
62
73
|
}, t("plan.paymentCredit.status.".concat(status))));
|
|
63
74
|
}
|
|
64
75
|
|
|
65
76
|
Paying.propTypes = {
|
|
66
77
|
orderId: _propTypes.default.string.isRequired,
|
|
78
|
+
userDid: _propTypes.default.string.isRequired,
|
|
67
79
|
onPaid: _propTypes.default.func.isRequired,
|
|
68
|
-
|
|
80
|
+
onComplete: _propTypes.default.func.isRequired
|
|
69
81
|
};
|
|
70
82
|
|
|
71
83
|
const Content = _styledComponents.default.div.withConfig({
|
|
72
84
|
displayName: "paying__Content",
|
|
73
85
|
componentId: "sc-1n02bp2-0"
|
|
74
|
-
})(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;.status{margin-top:32px;}"]);
|
|
86
|
+
})(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;.status{margin-top:32px;}.status--succeed_icon{background-color:#3ab39d;display:inline-flex;justify-content:center;align-items:center;width:48px;height:48px;border-radius:100%;color:#fff;}"]);
|
package/lib/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.Stripe = Stripe;
|
|
6
7
|
exports.default = Launcher;
|
|
7
8
|
|
|
8
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -17,6 +18,8 @@ var _launch = _interopRequireDefault(require("./launch"));
|
|
|
17
18
|
|
|
18
19
|
var _prepare = _interopRequireDefault(require("./prepare"));
|
|
19
20
|
|
|
21
|
+
var _checkout = _interopRequireDefault(require("./components/stripe/checkout"));
|
|
22
|
+
|
|
20
23
|
var _router = _interopRequireWildcard(require("./contexts/router"));
|
|
21
24
|
|
|
22
25
|
var _locales = require("./locales");
|
|
@@ -25,12 +28,18 @@ var _request = require("./contexts/request");
|
|
|
25
28
|
|
|
26
29
|
var _locale = require("./contexts/locale");
|
|
27
30
|
|
|
31
|
+
const _excluded = ["locale", "baseURL"];
|
|
32
|
+
|
|
28
33
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
34
|
|
|
30
35
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
36
|
|
|
32
37
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
38
|
|
|
39
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
40
|
+
|
|
41
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
42
|
+
|
|
34
43
|
// eslint-disable-next-line react/prop-types
|
|
35
44
|
function LaunchContent(_ref) {
|
|
36
45
|
let {
|
|
@@ -61,13 +70,37 @@ function LaunchContent(_ref) {
|
|
|
61
70
|
})));
|
|
62
71
|
}
|
|
63
72
|
|
|
64
|
-
function
|
|
73
|
+
function Stripe(_ref2) {
|
|
74
|
+
let {
|
|
75
|
+
locale,
|
|
76
|
+
baseURL
|
|
77
|
+
} = _ref2,
|
|
78
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
79
|
+
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement(_request.RequestProvider, {
|
|
81
|
+
baseURL: baseURL
|
|
82
|
+
}, /*#__PURE__*/_react.default.createElement(_locale.LocaleProvider, {
|
|
83
|
+
translations: _locales.translations,
|
|
84
|
+
locale: locale
|
|
85
|
+
}, /*#__PURE__*/_react.default.createElement(_checkout.default, rest)));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
Stripe.propTypes = {
|
|
89
|
+
locale: _propTypes.default.string,
|
|
90
|
+
baseURL: _propTypes.default.string
|
|
91
|
+
};
|
|
92
|
+
Stripe.defaultProps = {
|
|
93
|
+
locale: 'en',
|
|
94
|
+
baseURL: '/'
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
function Launcher(_ref3) {
|
|
65
98
|
let {
|
|
66
99
|
Route,
|
|
67
100
|
routerPrefix,
|
|
68
101
|
locale,
|
|
69
102
|
baseURL
|
|
70
|
-
} =
|
|
103
|
+
} = _ref3;
|
|
71
104
|
return /*#__PURE__*/_react.default.createElement(_request.RequestProvider, {
|
|
72
105
|
baseURL: baseURL
|
|
73
106
|
}, /*#__PURE__*/_react.default.createElement(_locale.LocaleProvider, {
|
package/lib/locales/en.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
const {
|
|
4
|
+
ORDER_STATUS
|
|
5
|
+
} = require('@blocklet/launcher-constant');
|
|
6
|
+
|
|
3
7
|
module.exports = {
|
|
4
8
|
common: {
|
|
5
9
|
paymentMethod: 'Payment Method',
|
|
@@ -21,10 +25,10 @@ module.exports = {
|
|
|
21
25
|
loadListFailed: 'Plan list load error',
|
|
22
26
|
paymentCredit: {
|
|
23
27
|
status: {
|
|
24
|
-
unpaid: 'Waiting for payment',
|
|
25
|
-
paid: 'Payment completed, waiting for order completion',
|
|
26
|
-
|
|
27
|
-
expired: 'Order has expired'
|
|
28
|
+
[ORDER_STATUS.unpaid]: 'Waiting for payment',
|
|
29
|
+
[ORDER_STATUS.paid]: 'Payment completed, waiting for order completion',
|
|
30
|
+
[ORDER_STATUS.nftSent]: 'Completed',
|
|
31
|
+
[ORDER_STATUS.expired]: 'Order has expired'
|
|
28
32
|
}
|
|
29
33
|
},
|
|
30
34
|
useCrypto: 'Crypto',
|
package/lib/locales/zh.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _launcherConstant = require("@blocklet/launcher-constant");
|
|
4
|
+
|
|
3
5
|
module.exports = {
|
|
4
6
|
common: {
|
|
5
7
|
paymentMethod: '付款方式',
|
|
@@ -21,10 +23,10 @@ module.exports = {
|
|
|
21
23
|
loadListFailed: '加载节点类型列表出错',
|
|
22
24
|
paymentCredit: {
|
|
23
25
|
status: {
|
|
24
|
-
unpaid: '支付中',
|
|
25
|
-
paid: '支付完成, 等待订单完成',
|
|
26
|
-
|
|
27
|
-
expired: '订单已过期'
|
|
26
|
+
[_launcherConstant.ORDER_STATUS.unpaid]: '支付中',
|
|
27
|
+
[_launcherConstant.ORDER_STATUS.paid]: '支付完成, 等待订单完成',
|
|
28
|
+
[_launcherConstant.ORDER_STATUS.nftSent]: '已完成',
|
|
29
|
+
[_launcherConstant.ORDER_STATUS.expired]: '订单已过期'
|
|
28
30
|
}
|
|
29
31
|
},
|
|
30
32
|
useCrypto: '数字货币支付',
|
package/lib/prepare.js
CHANGED
|
@@ -23,14 +23,14 @@ var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl
|
|
|
23
23
|
|
|
24
24
|
var _FormHelperText = _interopRequireDefault(require("@material-ui/core/FormHelperText"));
|
|
25
25
|
|
|
26
|
+
var _launcherConstant = require("@blocklet/launcher-constant");
|
|
27
|
+
|
|
26
28
|
var _pageHeader = _interopRequireDefault(require("./components/page-header"));
|
|
27
29
|
|
|
28
30
|
var _request = _interopRequireDefault(require("./contexts/request"));
|
|
29
31
|
|
|
30
32
|
var _locale = require("./contexts/locale");
|
|
31
33
|
|
|
32
|
-
var _constant = require("./constant");
|
|
33
|
-
|
|
34
34
|
var _router = _interopRequireWildcard(require("./contexts/router"));
|
|
35
35
|
|
|
36
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -165,7 +165,7 @@ function PreparePage() {
|
|
|
165
165
|
|
|
166
166
|
const handleCloseAuthDialog = () => setShowLaunchInstanceDialog(false);
|
|
167
167
|
|
|
168
|
-
const isRedeem = nftId ===
|
|
168
|
+
const isRedeem = nftId === _launcherConstant.REDEEM_NFT_ID;
|
|
169
169
|
const headerScope = isRedeem ? 'redeem' : 'prepare';
|
|
170
170
|
const buttonScope = isRedeem ? 'redeem' : 'launch';
|
|
171
171
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_pageHeader.default, {
|
package/lib/purchase.js
CHANGED
|
@@ -15,6 +15,8 @@ var _lodash = _interopRequireDefault(require("lodash.get"));
|
|
|
15
15
|
|
|
16
16
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
17
|
|
|
18
|
+
var _Coins = require("@styled-icons/remix-fill/Coins");
|
|
19
|
+
|
|
18
20
|
var _util = require("@ocap/util");
|
|
19
21
|
|
|
20
22
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
@@ -27,15 +29,15 @@ var _utils = require("@arcblock/did-connect/lib/utils");
|
|
|
27
29
|
|
|
28
30
|
var _compactLayout = _interopRequireDefault(require("@blocklet/launcher-layout/lib/compact-layout"));
|
|
29
31
|
|
|
30
|
-
var _Alert = _interopRequireDefault(require("@material-ui/lab/Alert"));
|
|
31
|
-
|
|
32
32
|
var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
|
|
33
33
|
|
|
34
34
|
var _Tabs = _interopRequireDefault(require("@arcblock/ux/lib/Tabs"));
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _launcherConstant = require("@blocklet/launcher-constant");
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _Alert = _interopRequireDefault(require("@material-ui/lab/Alert"));
|
|
39
|
+
|
|
40
|
+
var _CreditCard = _interopRequireDefault(require("@material-ui/icons/CreditCard"));
|
|
39
41
|
|
|
40
42
|
var _plan = _interopRequireDefault(require("./components/plan"));
|
|
41
43
|
|
|
@@ -49,8 +51,6 @@ var _locale = require("./contexts/locale");
|
|
|
49
51
|
|
|
50
52
|
var _session = require("./contexts/session");
|
|
51
53
|
|
|
52
|
-
var _constant = require("./constant");
|
|
53
|
-
|
|
54
54
|
var _request = _interopRequireDefault(require("./contexts/request"));
|
|
55
55
|
|
|
56
56
|
var _router = _interopRequireWildcard(require("./contexts/router"));
|
|
@@ -61,6 +61,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
61
61
|
|
|
62
62
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
63
63
|
|
|
64
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
65
|
+
|
|
66
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
67
|
+
|
|
68
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
69
|
+
|
|
64
70
|
const formatTokenPrice = token => "".concat((0, _util.fromUnitToToken)(token.value, token.decimal), " ").concat(token.symbol);
|
|
65
71
|
|
|
66
72
|
const formatFiatPrice = price => "".concat(price.symbol || price.unit).concat(price.value);
|
|
@@ -77,8 +83,7 @@ function PurchasePage() {
|
|
|
77
83
|
session
|
|
78
84
|
} = (0, _session.useSessionContext)();
|
|
79
85
|
const {
|
|
80
|
-
t
|
|
81
|
-
locale
|
|
86
|
+
t
|
|
82
87
|
} = (0, _locale.useLocaleContext)();
|
|
83
88
|
const [paying, setPaying] = (0, _react.useState)(false);
|
|
84
89
|
const [paymentInfo, setPaymentInfo] = (0, _react.useState)(null);
|
|
@@ -150,7 +155,7 @@ function PurchasePage() {
|
|
|
150
155
|
plans
|
|
151
156
|
} = plansState.value;
|
|
152
157
|
|
|
153
|
-
const
|
|
158
|
+
const handlePaid = _ref => {
|
|
154
159
|
let {
|
|
155
160
|
nftId
|
|
156
161
|
} = _ref;
|
|
@@ -207,10 +212,13 @@ function PurchasePage() {
|
|
|
207
212
|
try {
|
|
208
213
|
const {
|
|
209
214
|
data
|
|
210
|
-
} = await api.post(
|
|
215
|
+
} = await api.post('/pay', _objectSpread(_objectSpread({}, params), {}, {
|
|
216
|
+
userDid
|
|
217
|
+
}));
|
|
211
218
|
setPaymentInfo({
|
|
212
219
|
orderId: data.orderId,
|
|
213
|
-
clientSecret: data.clientSecret
|
|
220
|
+
clientSecret: data.clientSecret,
|
|
221
|
+
status: data.status
|
|
214
222
|
});
|
|
215
223
|
} catch (error) {
|
|
216
224
|
console.error(error);
|
|
@@ -220,8 +228,8 @@ function PurchasePage() {
|
|
|
220
228
|
};
|
|
221
229
|
|
|
222
230
|
const handleRedeem = () => {
|
|
223
|
-
|
|
224
|
-
nftId:
|
|
231
|
+
handlePaid({
|
|
232
|
+
nftId: _launcherConstant.REDEEM_NFT_ID
|
|
225
233
|
});
|
|
226
234
|
};
|
|
227
235
|
|
|
@@ -295,7 +303,7 @@ function PurchasePage() {
|
|
|
295
303
|
popup: true,
|
|
296
304
|
action: "purchase",
|
|
297
305
|
checkFn: createRequest().get,
|
|
298
|
-
onSuccess:
|
|
306
|
+
onSuccess: handlePaid,
|
|
299
307
|
onClose: handleCloseAuthDialog,
|
|
300
308
|
checkTimeout: 60 * 5000,
|
|
301
309
|
extraParams: getPurchaseParams(),
|
|
@@ -311,8 +319,9 @@ function PurchasePage() {
|
|
|
311
319
|
clientSecret: paymentInfo.clientSecret,
|
|
312
320
|
orderId: paymentInfo.orderId,
|
|
313
321
|
userDid: userDid,
|
|
314
|
-
|
|
315
|
-
onCancel: handleCancelPay
|
|
322
|
+
onComplete: handlePaid,
|
|
323
|
+
onCancel: handleCancelPay,
|
|
324
|
+
status: paymentInfo.status
|
|
316
325
|
}));
|
|
317
326
|
}
|
|
318
327
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blocklet/launcher-workflow",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.63",
|
|
4
4
|
"description": "Purchase components for Launcher UI",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -37,14 +37,15 @@
|
|
|
37
37
|
"react": ">=16.12.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@arcblock/did-connect": "^1.16.
|
|
41
|
-
"@arcblock/icons": "^1.16.
|
|
42
|
-
"@arcblock/ux": "^1.16.
|
|
43
|
-
"@blocklet/launcher-
|
|
40
|
+
"@arcblock/did-connect": "^1.16.43",
|
|
41
|
+
"@arcblock/icons": "^1.16.43",
|
|
42
|
+
"@arcblock/ux": "^1.16.43",
|
|
43
|
+
"@blocklet/launcher-constant": "1.5.63",
|
|
44
|
+
"@blocklet/launcher-layout": "1.5.63",
|
|
44
45
|
"@material-ui/core": "^4.12.3",
|
|
45
46
|
"@material-ui/icons": "^4.11.2",
|
|
46
47
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
|
47
|
-
"@ocap/util": "^1.14.
|
|
48
|
+
"@ocap/util": "^1.14.25",
|
|
48
49
|
"@stripe/react-stripe-js": "^1.7.0",
|
|
49
50
|
"@stripe/stripe-js": "^1.22.0",
|
|
50
51
|
"@styled-icons/remix-fill": "^10.18.0",
|
|
@@ -66,5 +67,5 @@
|
|
|
66
67
|
"babel-plugin-inline-react-svg": "^2.0.1",
|
|
67
68
|
"babel-plugin-styled-components": "^1.10.7"
|
|
68
69
|
},
|
|
69
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "f75fa0509639a6e0490d1bd4443b8028e237675c"
|
|
70
71
|
}
|
package/lib/constant.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.fromInstanceStatus = exports.REDEEM_NFT_ID = exports.INSTANCE_STATUS = void 0;
|
|
7
|
-
const INSTANCE_STATUS = Object.freeze({
|
|
8
|
-
unknown: -1,
|
|
9
|
-
pending: 0,
|
|
10
|
-
starting: 10,
|
|
11
|
-
running: 20,
|
|
12
|
-
restarting: 30,
|
|
13
|
-
stopping: 40,
|
|
14
|
-
stopped: 50,
|
|
15
|
-
terminated: 60,
|
|
16
|
-
expired: 70,
|
|
17
|
-
error: 80,
|
|
18
|
-
createError: 90,
|
|
19
|
-
waiting: 10000
|
|
20
|
-
});
|
|
21
|
-
exports.INSTANCE_STATUS = INSTANCE_STATUS;
|
|
22
|
-
const statusInstanceMap = Object.keys(INSTANCE_STATUS).reduce((acc, cur) => {
|
|
23
|
-
acc[INSTANCE_STATUS[cur]] = cur;
|
|
24
|
-
return acc;
|
|
25
|
-
}, {});
|
|
26
|
-
|
|
27
|
-
const fromInstanceStatus = status => statusInstanceMap[status];
|
|
28
|
-
|
|
29
|
-
exports.fromInstanceStatus = fromInstanceStatus;
|
|
30
|
-
const REDEEM_NFT_ID = 'redeem';
|
|
31
|
-
exports.REDEEM_NFT_ID = REDEEM_NFT_ID;
|