@blocklet/launcher-workflow 1.5.66 → 1.5.69
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/confirm.js +25 -7
- package/lib/components/server-eula.js +11 -4
- package/lib/contexts/request.js +11 -0
- package/lib/index.js +6 -6
- package/lib/locales/en.js +2 -1
- package/lib/locales/zh.js +2 -1
- package/lib/prepare.js +71 -30
- package/lib/purchase.js +7 -1
- package/lib/util.js +7 -0
- package/package.json +5 -4
|
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
|
+
var _lodash = _interopRequireDefault(require("lodash.get"));
|
|
13
|
+
|
|
12
14
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
13
15
|
|
|
14
16
|
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
@@ -33,6 +35,17 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
33
35
|
|
|
34
36
|
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; }
|
|
35
37
|
|
|
38
|
+
const translations = {
|
|
39
|
+
en: {
|
|
40
|
+
confirm: 'Confirm',
|
|
41
|
+
cancel: 'Cancel'
|
|
42
|
+
},
|
|
43
|
+
zh: {
|
|
44
|
+
confirm: '同意',
|
|
45
|
+
cancel: '取消'
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
36
49
|
function ConfirmDialog(_ref) {
|
|
37
50
|
let {
|
|
38
51
|
title,
|
|
@@ -42,11 +55,14 @@ function ConfirmDialog(_ref) {
|
|
|
42
55
|
color,
|
|
43
56
|
params: initialParams,
|
|
44
57
|
onCancel,
|
|
45
|
-
onConfirm
|
|
58
|
+
onConfirm,
|
|
59
|
+
locale
|
|
46
60
|
} = _ref;
|
|
47
61
|
const {
|
|
48
|
-
|
|
49
|
-
} = (0, _react.useContext)(_locale.LocaleContext)
|
|
62
|
+
locale: innerLocale
|
|
63
|
+
} = (0, _react.useContext)(_locale.LocaleContext) || {
|
|
64
|
+
locale
|
|
65
|
+
};
|
|
50
66
|
const [params, setParams] = (0, _react.useState)(initialParams);
|
|
51
67
|
const theme = (0, _useTheme.default)();
|
|
52
68
|
const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('sm'));
|
|
@@ -68,13 +84,13 @@ function ConfirmDialog(_ref) {
|
|
|
68
84
|
onClick: () => onCallback(onCancel),
|
|
69
85
|
color: "default",
|
|
70
86
|
rounded: true
|
|
71
|
-
}, cancel ||
|
|
87
|
+
}, cancel || (0, _lodash.default)(translations, "".concat(innerLocale, ".cancel"))), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
72
88
|
onClick: () => onCallback(onConfirm),
|
|
73
89
|
color: color,
|
|
74
90
|
variant: "outlined",
|
|
75
91
|
autoFocus: true,
|
|
76
92
|
rounded: true
|
|
77
|
-
}, confirm ||
|
|
93
|
+
}, confirm || (0, _lodash.default)(translations, "".concat(innerLocale, ".confirm")))));
|
|
78
94
|
}
|
|
79
95
|
|
|
80
96
|
ConfirmDialog.propTypes = {
|
|
@@ -87,12 +103,14 @@ ConfirmDialog.propTypes = {
|
|
|
87
103
|
params: _propTypes.default.object,
|
|
88
104
|
// This object holds states managed in the dialog
|
|
89
105
|
onCancel: _propTypes.default.func,
|
|
90
|
-
onConfirm: _propTypes.default.func.isRequired
|
|
106
|
+
onConfirm: _propTypes.default.func.isRequired,
|
|
107
|
+
locale: _propTypes.default.oneOf(['en', 'zh'])
|
|
91
108
|
};
|
|
92
109
|
ConfirmDialog.defaultProps = {
|
|
93
110
|
onCancel: () => {},
|
|
94
111
|
cancel: '',
|
|
95
112
|
confirm: '',
|
|
96
113
|
color: 'danger',
|
|
97
|
-
params: {}
|
|
114
|
+
params: {},
|
|
115
|
+
locale: 'en'
|
|
98
116
|
};
|
|
@@ -21,6 +21,8 @@ var _CheckCircleOutlineRounded = _interopRequireDefault(require("@material-ui/ic
|
|
|
21
21
|
|
|
22
22
|
var _FormLabel = _interopRequireDefault(require("@material-ui/core/FormLabel"));
|
|
23
23
|
|
|
24
|
+
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
25
|
+
|
|
24
26
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
25
27
|
|
|
26
28
|
var _server = _interopRequireDefault(require("@arcblock/license/lib/server"));
|
|
@@ -39,7 +41,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
39
41
|
function ServerEula(_ref) {
|
|
40
42
|
let {
|
|
41
43
|
onContinue,
|
|
42
|
-
nextDisabled
|
|
44
|
+
nextDisabled,
|
|
45
|
+
launching
|
|
43
46
|
} = _ref;
|
|
44
47
|
const [agreed, setAgreed] = (0, _useLocalStorage.default)('server-eula-checked', false);
|
|
45
48
|
const [open, setOpen] = (0, _react.useState)(false);
|
|
@@ -75,7 +78,9 @@ function ServerEula(_ref) {
|
|
|
75
78
|
variant: "contained",
|
|
76
79
|
className: "next-button",
|
|
77
80
|
onClick: onContinue
|
|
78
|
-
},
|
|
81
|
+
}, launching ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Spinner.default, {
|
|
82
|
+
size: 14
|
|
83
|
+
}), t('common.launching')) : t('common.next'))), open && /*#__PURE__*/_react.default.createElement(_confirm.default, {
|
|
79
84
|
title: t('license.title'),
|
|
80
85
|
description: /*#__PURE__*/_react.default.createElement(_server.default, {
|
|
81
86
|
className: "eula-content"
|
|
@@ -88,10 +93,12 @@ function ServerEula(_ref) {
|
|
|
88
93
|
|
|
89
94
|
ServerEula.propTypes = {
|
|
90
95
|
onContinue: _propTypes.default.func.isRequired,
|
|
91
|
-
nextDisabled: _propTypes.default.bool
|
|
96
|
+
nextDisabled: _propTypes.default.bool,
|
|
97
|
+
launching: _propTypes.default.bool
|
|
92
98
|
};
|
|
93
99
|
ServerEula.defaultProps = {
|
|
94
|
-
nextDisabled: false
|
|
100
|
+
nextDisabled: false,
|
|
101
|
+
launching: false
|
|
95
102
|
};
|
|
96
103
|
|
|
97
104
|
const Div = _styledComponents.default.div.withConfig({
|
package/lib/contexts/request.js
CHANGED
|
@@ -18,6 +18,8 @@ var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
|
18
18
|
|
|
19
19
|
var _session = require("./session");
|
|
20
20
|
|
|
21
|
+
var _locale = require("./locale");
|
|
22
|
+
|
|
21
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
24
|
|
|
23
25
|
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); }
|
|
@@ -44,6 +46,9 @@ function RequestProvider(_ref) {
|
|
|
44
46
|
const {
|
|
45
47
|
session
|
|
46
48
|
} = (0, _session.useSessionContext)();
|
|
49
|
+
const {
|
|
50
|
+
locale
|
|
51
|
+
} = (0, _locale.useLocaleContext)();
|
|
47
52
|
|
|
48
53
|
const privateRequest = _axios.default.create({
|
|
49
54
|
baseURL
|
|
@@ -51,6 +56,12 @@ function RequestProvider(_ref) {
|
|
|
51
56
|
|
|
52
57
|
privateRequest.interceptors.request.use(config => {
|
|
53
58
|
config.url = (0, _urlJoin.default)('/api', config.url);
|
|
59
|
+
|
|
60
|
+
if (!config.params) {
|
|
61
|
+
config.params = {};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
config.params.locale = locale;
|
|
54
65
|
return config;
|
|
55
66
|
});
|
|
56
67
|
privateRequest.interceptors.response.use(response => response, err => {
|
package/lib/index.js
CHANGED
|
@@ -77,11 +77,11 @@ function Stripe(_ref2) {
|
|
|
77
77
|
} = _ref2,
|
|
78
78
|
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
79
79
|
|
|
80
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
81
|
-
baseURL: baseURL
|
|
82
|
-
}, /*#__PURE__*/_react.default.createElement(_locale.LocaleProvider, {
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement(_locale.LocaleProvider, {
|
|
83
81
|
translations: _locales.translations,
|
|
84
82
|
locale: locale
|
|
83
|
+
}, /*#__PURE__*/_react.default.createElement(_request.RequestProvider, {
|
|
84
|
+
baseURL: baseURL
|
|
85
85
|
}, /*#__PURE__*/_react.default.createElement(_checkout.default, rest)));
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -101,11 +101,11 @@ function Launcher(_ref3) {
|
|
|
101
101
|
locale,
|
|
102
102
|
baseURL
|
|
103
103
|
} = _ref3;
|
|
104
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
105
|
-
baseURL: baseURL
|
|
106
|
-
}, /*#__PURE__*/_react.default.createElement(_locale.LocaleProvider, {
|
|
104
|
+
return /*#__PURE__*/_react.default.createElement(_locale.LocaleProvider, {
|
|
107
105
|
translations: _locales.translations,
|
|
108
106
|
locale: locale
|
|
107
|
+
}, /*#__PURE__*/_react.default.createElement(_request.RequestProvider, {
|
|
108
|
+
baseURL: baseURL
|
|
109
109
|
}, /*#__PURE__*/_react.default.createElement(LaunchContent, {
|
|
110
110
|
Route: Route,
|
|
111
111
|
routerPrefix: routerPrefix,
|
package/lib/locales/en.js
CHANGED
package/lib/locales/zh.js
CHANGED
package/lib/prepare.js
CHANGED
|
@@ -11,6 +11,8 @@ var _reactRouterDom = require("react-router-dom");
|
|
|
11
11
|
|
|
12
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
13
|
|
|
14
|
+
var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
|
|
15
|
+
|
|
14
16
|
var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
|
|
15
17
|
|
|
16
18
|
var _utils = require("@arcblock/did-connect/lib/utils");
|
|
@@ -33,6 +35,8 @@ var _locale = require("./contexts/locale");
|
|
|
33
35
|
|
|
34
36
|
var _router = _interopRequireWildcard(require("./contexts/router"));
|
|
35
37
|
|
|
38
|
+
var _util = require("./util");
|
|
39
|
+
|
|
36
40
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
41
|
|
|
38
42
|
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); }
|
|
@@ -80,8 +84,6 @@ BlockletServerIcon.defaultProps = {
|
|
|
80
84
|
fill: "none",
|
|
81
85
|
xmlns: "http://www.w3.org/2000/svg"
|
|
82
86
|
};
|
|
83
|
-
const MAX_NAME_LENGTH = 30;
|
|
84
|
-
const MAX_DESC_LENGTH = 50;
|
|
85
87
|
|
|
86
88
|
function PreparePage() {
|
|
87
89
|
const {
|
|
@@ -89,18 +91,21 @@ function PreparePage() {
|
|
|
89
91
|
} = (0, _react.useContext)(_locale.LocaleContext);
|
|
90
92
|
const [name, setName] = (0, _react.useState)('');
|
|
91
93
|
const [description, setDescription] = (0, _react.useState)('');
|
|
92
|
-
const [
|
|
94
|
+
const [formError, setFormError] = (0, _react.useState)({
|
|
93
95
|
name: '',
|
|
94
96
|
description: ''
|
|
95
97
|
});
|
|
96
98
|
const routerPrefix = (0, _router.usePrefix)();
|
|
99
|
+
const [launching, setLaunching] = (0, _react.useState)(false);
|
|
100
|
+
const [error, setError] = (0, _react.useState)('');
|
|
97
101
|
const [showLaunchInstanceDialog, setShowLaunchInstanceDialog] = (0, _react.useState)(false);
|
|
98
102
|
const {
|
|
99
103
|
nftId
|
|
100
104
|
} = (0, _reactRouterDom.useParams)();
|
|
101
105
|
const history = (0, _reactRouterDom.useHistory)();
|
|
102
106
|
const {
|
|
103
|
-
create: createRequest
|
|
107
|
+
create: createRequest,
|
|
108
|
+
api
|
|
104
109
|
} = (0, _request.default)();
|
|
105
110
|
|
|
106
111
|
const handleInput = id => e => {
|
|
@@ -115,31 +120,34 @@ function PreparePage() {
|
|
|
115
120
|
validate();
|
|
116
121
|
};
|
|
117
122
|
|
|
123
|
+
const isRedeem = nftId === _launcherConstant.REDEEM_NFT_ID;
|
|
124
|
+
const headerScope = isRedeem ? 'redeem' : 'prepare';
|
|
125
|
+
|
|
118
126
|
const validate = () => {
|
|
119
127
|
let isError = false;
|
|
120
128
|
|
|
121
|
-
if (name.length >
|
|
129
|
+
if (name.length > _launcherConstant.INSTANCE_MAX_NAME_LENGTH) {
|
|
122
130
|
isError = true;
|
|
123
|
-
|
|
124
|
-
name: t('launchPrepare.
|
|
125
|
-
length:
|
|
131
|
+
setFormError(value => _objectSpread(_objectSpread({}, value), {}, {
|
|
132
|
+
name: t('launchPrepare.formError.nameExceed', {
|
|
133
|
+
length: _launcherConstant.INSTANCE_MAX_NAME_LENGTH
|
|
126
134
|
})
|
|
127
135
|
}));
|
|
128
136
|
} else {
|
|
129
|
-
|
|
137
|
+
setFormError(value => _objectSpread(_objectSpread({}, value), {}, {
|
|
130
138
|
name: ''
|
|
131
139
|
}));
|
|
132
140
|
}
|
|
133
141
|
|
|
134
|
-
if (description.length >
|
|
142
|
+
if (description.length > _launcherConstant.INSTANCE_MAX_DESC_LENGTH) {
|
|
135
143
|
isError = true;
|
|
136
|
-
|
|
137
|
-
description: t('launchPrepare.
|
|
138
|
-
length:
|
|
144
|
+
setFormError(value => _objectSpread(_objectSpread({}, value), {}, {
|
|
145
|
+
description: t('launchPrepare.formError.descriptionExceed', {
|
|
146
|
+
length: _launcherConstant.INSTANCE_MAX_DESC_LENGTH
|
|
139
147
|
})
|
|
140
148
|
}));
|
|
141
149
|
} else {
|
|
142
|
-
|
|
150
|
+
setFormError(value => _objectSpread(_objectSpread({}, value), {}, {
|
|
143
151
|
description: ''
|
|
144
152
|
}));
|
|
145
153
|
}
|
|
@@ -147,12 +155,40 @@ function PreparePage() {
|
|
|
147
155
|
return isError;
|
|
148
156
|
};
|
|
149
157
|
|
|
150
|
-
const handleLaunch = () => {
|
|
158
|
+
const handleLaunch = async () => {
|
|
159
|
+
setLaunching(true);
|
|
160
|
+
|
|
151
161
|
if (validate()) {
|
|
152
162
|
return;
|
|
153
163
|
}
|
|
154
164
|
|
|
155
|
-
|
|
165
|
+
if (isRedeem) {
|
|
166
|
+
setShowLaunchInstanceDialog(true);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
try {
|
|
171
|
+
const {
|
|
172
|
+
status
|
|
173
|
+
} = await api.post('/instances/launch', {
|
|
174
|
+
nftId,
|
|
175
|
+
name,
|
|
176
|
+
description
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
if (status !== 202) {
|
|
180
|
+
setError(t('launch.error.launchFailed'));
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
handleAuthSuccess({
|
|
185
|
+
nftId
|
|
186
|
+
});
|
|
187
|
+
} catch (err) {
|
|
188
|
+
setError((0, _util.getAPIResponseError)(err));
|
|
189
|
+
} finally {
|
|
190
|
+
setLaunching(false);
|
|
191
|
+
}
|
|
156
192
|
}; // eslint-disable-next-line no-shadow
|
|
157
193
|
|
|
158
194
|
|
|
@@ -163,11 +199,11 @@ function PreparePage() {
|
|
|
163
199
|
history.push((0, _router.default)(routerPrefix, "/in-progress/".concat(nftId).concat(window.location.search)));
|
|
164
200
|
};
|
|
165
201
|
|
|
166
|
-
const handleCloseAuthDialog = () =>
|
|
202
|
+
const handleCloseAuthDialog = () => {
|
|
203
|
+
setLaunching(false);
|
|
204
|
+
setShowLaunchInstanceDialog(false);
|
|
205
|
+
};
|
|
167
206
|
|
|
168
|
-
const isRedeem = nftId === _launcherConstant.REDEEM_NFT_ID;
|
|
169
|
-
const headerScope = isRedeem ? 'redeem' : 'prepare';
|
|
170
|
-
const buttonScope = isRedeem ? 'redeem' : 'launch';
|
|
171
207
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_pageHeader.default, {
|
|
172
208
|
title: t("".concat(headerScope, ".title")),
|
|
173
209
|
subTitle: t("".concat(headerScope, ".subTitle"))
|
|
@@ -179,7 +215,7 @@ function PreparePage() {
|
|
|
179
215
|
className: "inputs"
|
|
180
216
|
}, /*#__PURE__*/_react.default.createElement(_FormControl.default, {
|
|
181
217
|
className: "input-item",
|
|
182
|
-
|
|
218
|
+
formError: !!formError.name
|
|
183
219
|
}, /*#__PURE__*/_react.default.createElement(_TextField.default, {
|
|
184
220
|
id: "name",
|
|
185
221
|
variant: "outlined",
|
|
@@ -188,24 +224,25 @@ function PreparePage() {
|
|
|
188
224
|
value: name,
|
|
189
225
|
labelWidth: 0,
|
|
190
226
|
autoFocus: true
|
|
191
|
-
}),
|
|
227
|
+
}), formError.name && /*#__PURE__*/_react.default.createElement(_FormHelperText.default, null, formError.name)), /*#__PURE__*/_react.default.createElement(_FormControl.default, {
|
|
192
228
|
className: "input-item",
|
|
193
|
-
|
|
229
|
+
formError: !!formError.description
|
|
194
230
|
}, /*#__PURE__*/_react.default.createElement(_TextField.default, {
|
|
195
231
|
id: "description",
|
|
196
232
|
variant: "outlined",
|
|
197
233
|
label: t('common.description'),
|
|
198
|
-
|
|
234
|
+
formError: !!formError.desc,
|
|
199
235
|
onChange: handleInput('description'),
|
|
200
236
|
multiline: true,
|
|
201
237
|
maxRows: 5,
|
|
202
238
|
value: description,
|
|
203
239
|
labelWidth: 0
|
|
204
|
-
}),
|
|
240
|
+
}), formError.description && /*#__PURE__*/_react.default.createElement(_FormHelperText.default, null, formError.description)))), /*#__PURE__*/_react.default.createElement("div", {
|
|
205
241
|
className: "botton-container"
|
|
206
242
|
}, /*#__PURE__*/_react.default.createElement(_serverEula.default, {
|
|
207
243
|
onContinue: handleLaunch,
|
|
208
|
-
nextDisabled: !name.trim() || !description.trim()
|
|
244
|
+
nextDisabled: !name.trim() || !description.trim() || launching,
|
|
245
|
+
launching: launching
|
|
209
246
|
}))), /*#__PURE__*/_react.default.createElement(_Connect.default, {
|
|
210
247
|
open: showLaunchInstanceDialog,
|
|
211
248
|
popup: true,
|
|
@@ -223,11 +260,15 @@ function PreparePage() {
|
|
|
223
260
|
disableClose: true,
|
|
224
261
|
showDownload: false,
|
|
225
262
|
messages: {
|
|
226
|
-
title: t(
|
|
227
|
-
scan: t(
|
|
228
|
-
confirm: t(
|
|
229
|
-
success: t(
|
|
263
|
+
title: t('redeem.dialog.title'),
|
|
264
|
+
scan: t('redeem.dialog.scan'),
|
|
265
|
+
confirm: t('redeem.dialog.confirm'),
|
|
266
|
+
success: t('redeem.dialog.success')
|
|
230
267
|
}
|
|
268
|
+
}), error && /*#__PURE__*/_react.default.createElement(_Toast.default, {
|
|
269
|
+
message: error,
|
|
270
|
+
variant: "error",
|
|
271
|
+
onClose: () => setError('')
|
|
231
272
|
}));
|
|
232
273
|
}
|
|
233
274
|
|
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 _jsCookie = _interopRequireDefault(require("js-cookie"));
|
|
19
|
+
|
|
18
20
|
var _Coins = require("@styled-icons/remix-fill/Coins");
|
|
19
21
|
|
|
20
22
|
var _util = require("@ocap/util");
|
|
@@ -160,8 +162,12 @@ function PurchasePage() {
|
|
|
160
162
|
|
|
161
163
|
const handlePaid = _ref => {
|
|
162
164
|
let {
|
|
163
|
-
nftId
|
|
165
|
+
nftId,
|
|
166
|
+
launchToken
|
|
164
167
|
} = _ref;
|
|
168
|
+
|
|
169
|
+
_jsCookie.default.set('launch-token', launchToken);
|
|
170
|
+
|
|
165
171
|
const url = "/prepare/".concat(nftId).concat(window.location.search);
|
|
166
172
|
history.push((0, _router.default)(routerPrefix, url));
|
|
167
173
|
};
|
package/lib/util.js
CHANGED
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.getAPIResponseError = void 0;
|
|
6
7
|
exports.getBlockletMetaUrl = getBlockletMetaUrl;
|
|
7
8
|
exports.loadURL = exports.getLaunchBlockletUrl = void 0;
|
|
8
9
|
|
|
9
10
|
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
10
11
|
|
|
12
|
+
var _lodash = _interopRequireDefault(require("lodash.get"));
|
|
13
|
+
|
|
11
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
15
|
|
|
13
16
|
function getBlockletMetaUrl(registry, did) {
|
|
@@ -30,6 +33,10 @@ const getLaunchBlockletUrl = (serverUrl, blockletMetaUrl, locale) => {
|
|
|
30
33
|
|
|
31
34
|
exports.getLaunchBlockletUrl = getLaunchBlockletUrl;
|
|
32
35
|
|
|
36
|
+
const getAPIResponseError = error => (0, _lodash.default)(error, 'response.data.error', '') || error.message;
|
|
37
|
+
|
|
38
|
+
exports.getAPIResponseError = getAPIResponseError;
|
|
39
|
+
|
|
33
40
|
const loadURL = url => new Promise(resolve => {
|
|
34
41
|
let timer;
|
|
35
42
|
const iframe = document.createElement('iframe');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blocklet/launcher-workflow",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.69",
|
|
4
4
|
"description": "Purchase components for Launcher UI",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"@arcblock/icons": "^1.16.49",
|
|
42
42
|
"@arcblock/license": "^1.16.49",
|
|
43
43
|
"@arcblock/ux": "^1.16.49",
|
|
44
|
-
"@blocklet/launcher-constant": "1.5.
|
|
45
|
-
"@blocklet/launcher-layout": "1.5.
|
|
44
|
+
"@blocklet/launcher-constant": "1.5.69",
|
|
45
|
+
"@blocklet/launcher-layout": "1.5.69",
|
|
46
46
|
"@material-ui/core": "^4.12.3",
|
|
47
47
|
"@material-ui/icons": "^4.11.2",
|
|
48
48
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"@styled-icons/remix-fill": "^10.18.0",
|
|
53
53
|
"axios": "^0.26.0",
|
|
54
54
|
"flat": "^5.0.2",
|
|
55
|
+
"js-cookie": "^3.0.1",
|
|
55
56
|
"lodash.get": "^4.4.2",
|
|
56
57
|
"lodash.throttle": "^4.1.1",
|
|
57
58
|
"prop-types": "^15.8.1",
|
|
@@ -68,5 +69,5 @@
|
|
|
68
69
|
"babel-plugin-inline-react-svg": "^2.0.1",
|
|
69
70
|
"babel-plugin-styled-components": "^1.10.7"
|
|
70
71
|
},
|
|
71
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "f61a739613c0d36042a6cbb0c06b77b817147ca7"
|
|
72
73
|
}
|