@blocklet/launcher-workflow 2.2.53 → 2.2.55

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/es/prepare.js ADDED
@@ -0,0 +1,290 @@
1
+ import Center from '@arcblock/ux/lib/Center';
2
+ import { getBlockletLogoUrl, getDefaultTrialEnd } from '@blocklet/launcher-util/es/util';
3
+ import CheckoutOnDemand from '@blocklet/launcher-ux/lib/payment/checkout/on-demand';
4
+ import { CheckoutTable, PaymentProvider } from '@blocklet/payment-react';
5
+ import styled from '@emotion/styled';
6
+ import Box from '@mui/material/Box';
7
+ import CircularProgress from '@mui/material/CircularProgress';
8
+ import Stack from '@mui/material/Stack';
9
+ import ToggleButton from '@mui/material/ToggleButton';
10
+ import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
11
+ import PropTypes from 'prop-types';
12
+ import { useEffect } from 'react';
13
+ import { Link, useNavigate, useSearchParams } from 'react-router-dom';
14
+ import useAsync from 'react-use/lib/useAsync';
15
+ import useSetState from 'react-use/lib/useSetState';
16
+ import joinURL from 'url-join';
17
+ import Body from './components/layout/body';
18
+ import Header from './components/layout/header';
19
+ import { useLocaleContext } from './contexts/locale';
20
+ import useRequest from './contexts/request';
21
+ import { useSessionContext } from './contexts/session';
22
+ import { useWorkflowContext } from './contexts/workflow';
23
+ import { launchSession } from './util';
24
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
+ const Root = styled('div')`
26
+ width: 100%;
27
+ height: 100%;
28
+ padding-top: 0;
29
+
30
+ @media (max-width: 960px) {
31
+ width: 100%;
32
+ }
33
+ `;
34
+ function Content({
35
+ blocklet
36
+ }) {
37
+ const [state, setState] = useSetState({
38
+ productType: 'on-demand'
39
+ });
40
+ const [params, setParams] = useSearchParams();
41
+ const {
42
+ session,
43
+ connectApi
44
+ } = useSessionContext();
45
+ const {
46
+ api: launchSessionAPI
47
+ } = useRequest();
48
+ const {
49
+ routerPrefix
50
+ } = useWorkflowContext();
51
+ const {
52
+ t,
53
+ locale
54
+ } = useLocaleContext();
55
+ const navigate = useNavigate();
56
+ const sessionId = params.get('sessionId');
57
+ const blockletMetaUrl = params.get('blocklet_meta_url');
58
+ const defaultProductType = params.get('product_type');
59
+ const productTypes = ['on-demand'];
60
+ if (window.blocklet?.preferences?.dedicatedPricingTableId) {
61
+ productTypes.push('dedicated');
62
+ }
63
+ useEffect(() => {
64
+ if (defaultProductType) {
65
+ setState({
66
+ productType: defaultProductType
67
+ });
68
+ params.set('product_type', defaultProductType);
69
+ setParams(params, {
70
+ replace: true
71
+ });
72
+ }
73
+ }, [defaultProductType, params, setParams, setState]);
74
+ const getLaunchState = useAsync(async () => {
75
+ const createPromiseFn = (fn, ...args) => new Promise((resolve, reject) => {
76
+ fn(...args, (err, value) => {
77
+ if (err) {
78
+ reject(err);
79
+ } else {
80
+ resolve(value);
81
+ }
82
+ });
83
+ });
84
+ if (sessionId) {
85
+ const launch = await createPromiseFn(launchSession.load, launchSessionAPI, routerPrefix, sessionId, blockletMetaUrl);
86
+ return launch;
87
+ }
88
+ const launch = await createPromiseFn(launchSession.create, launchSessionAPI, routerPrefix, blockletMetaUrl);
89
+ return launch;
90
+ });
91
+ useEffect(() => {
92
+ const tmpLaunch = getLaunchState.value;
93
+ if (!tmpLaunch) {
94
+ return;
95
+ }
96
+ if (tmpLaunch._id !== params.get('sessionId')) {
97
+ params.set('sessionId', tmpLaunch._id);
98
+ setParams(params, {
99
+ replace: true
100
+ });
101
+ }
102
+ }, [getLaunchState.value, params, setParams]);
103
+ if (getLaunchState.loading || blocklet.loading) {
104
+ return /*#__PURE__*/_jsx(Center, {
105
+ relative: "parent",
106
+ children: /*#__PURE__*/_jsx(CircularProgress, {})
107
+ });
108
+ }
109
+ if (getLaunchState.error) {
110
+ return t('common.serviceError');
111
+ }
112
+ const handlePaid = () => {
113
+ navigate(`/paid?&sessionId=${launch._id}&blocklet_meta_url=${launch.blockletMetaUrl}`);
114
+ };
115
+ const handleChangeProductType = (a, newProductType) => {
116
+ if (!newProductType) {
117
+ return;
118
+ }
119
+ setState({
120
+ productType: newProductType
121
+ });
122
+ params.set('product_type', newProductType);
123
+ setParams(params, {
124
+ replace: true
125
+ });
126
+ };
127
+
128
+ // TODO: PaymentKitV2 处理支付失败的情况
129
+
130
+ const launch = getLaunchState.value;
131
+ return /*#__PURE__*/_jsx(Root, {
132
+ children: /*#__PURE__*/_jsxs(Stack, {
133
+ direction: "column",
134
+ sx: {
135
+ width: '100%',
136
+ height: '100%',
137
+ alignItems: 'center'
138
+ },
139
+ children: [/*#__PURE__*/_jsx(ToggleButtonGroup, {
140
+ orientation: "horizontal",
141
+ color: "primary",
142
+ value: state.productType,
143
+ size: "small",
144
+ onChange: handleChangeProductType,
145
+ exclusive: true,
146
+ children: productTypes.map(type => {
147
+ return /*#__PURE__*/_jsx(ToggleButton, {
148
+ value: type,
149
+ sx: {
150
+ textTransform: 'capitalize'
151
+ },
152
+ children: t(`purchase.productType.${type}`)
153
+ }, type);
154
+ })
155
+ }), /*#__PURE__*/_jsxs(Box, {
156
+ sx: {
157
+ width: '100%',
158
+ height: '100%',
159
+ marginTop: '24px',
160
+ '@media (min-width: 1200px)': {
161
+ maxWidth: '960px'
162
+ },
163
+ '@media (max-width: 1200px)': {
164
+ maxWidth: '100%'
165
+ }
166
+ },
167
+ children: [state.productType === 'on-demand' && /*#__PURE__*/_jsx(CheckoutOnDemand, {
168
+ launchSessionId: sessionId,
169
+ handlePaid: handlePaid,
170
+ components: (blocklet.components || []).map(x => ({
171
+ did: x.meta.did,
172
+ title: x.meta.title,
173
+ description: x.meta.description,
174
+ logo: getBlockletLogoUrl({
175
+ did: x.meta.did,
176
+ baseUrl: blocklet.registryUrl,
177
+ logoPath: x.meta.logo
178
+ })
179
+ })),
180
+ blockletStoreURL: blocklet.registryUrl,
181
+ connectApi: connectApi,
182
+ session: session,
183
+ t: t,
184
+ locale: locale,
185
+ api: launchSessionAPI,
186
+ checkoutPath: "/payment/checkout"
187
+ }), state.productType === 'dedicated' && window.blocklet?.preferences?.dedicatedPricingTableId && /*#__PURE__*/_jsx(Box, {
188
+ sx: {
189
+ display: 'flex',
190
+ width: '100%',
191
+ justifyContent: 'center',
192
+ '& .cko-container': {
193
+ justifyContent: 'center !important'
194
+ },
195
+ '& .cko-payment': {
196
+ gap: '8px'
197
+ },
198
+ '& >div>div': {
199
+ paddingTop: 0
200
+ },
201
+ '& .price-table-item': {
202
+ boxShadow: 'none'
203
+ },
204
+ '& .cko-payment-methods': {
205
+ marginTop: 0,
206
+ '&>p': {
207
+ marginBottom: 0
208
+ }
209
+ },
210
+ '& .cko-payment-submit': {
211
+ marginTop: 0,
212
+ '& button': {
213
+ fontSize: '1rem !important'
214
+ }
215
+ }
216
+ },
217
+ children: /*#__PURE__*/_jsx(PaymentProvider, {
218
+ session: session,
219
+ connect: connectApi,
220
+ children: /*#__PURE__*/_jsx(CheckoutTable, {
221
+ id: window.blocklet?.preferences?.dedicatedPricingTableId,
222
+ mode: "inline",
223
+ extraParams: {
224
+ 'metadata.session_id': launch._id,
225
+ 'subscription_data.trial_end': getDefaultTrialEnd(),
226
+ 'subscription_data.days_until_due': 0,
227
+ 'subscription_data.days_until_cancel': window.blocklet?.preferences?.daysUntilCancel || 30
228
+ },
229
+ onPaid: handlePaid
230
+ })
231
+ })
232
+ })]
233
+ }), /*#__PURE__*/_jsx(Box, {
234
+ sx: {
235
+ display: 'flex',
236
+ justifyContent: 'space-between'
237
+ },
238
+ children: /*#__PURE__*/_jsx(Box, {
239
+ component: Link,
240
+ sx: {
241
+ color: 'text.secondary',
242
+ marginTop: '24px',
243
+ marginBottom: '12px',
244
+ '&:hover': {
245
+ textDecoration: 'underline !important'
246
+ }
247
+ },
248
+ to: joinURL(routerPrefix, `/purchase/select${window.location.search}`),
249
+ children: t('purchase.selectSpaceHint')
250
+ })
251
+ })]
252
+ })
253
+ });
254
+ }
255
+ function PreparePage({
256
+ blocklet
257
+ }) {
258
+ const {
259
+ t
260
+ } = useLocaleContext();
261
+ return /*#__PURE__*/_jsxs(Box, {
262
+ sx: {
263
+ display: 'flex',
264
+ flexDirection: 'column',
265
+ width: '100%',
266
+ height: '100%'
267
+ },
268
+ children: [/*#__PURE__*/_jsx(Header, {
269
+ title: t('purchase.pageTitle'),
270
+ disableBack: true
271
+ }), /*#__PURE__*/_jsx(Body, {
272
+ children: /*#__PURE__*/_jsx(Box, {
273
+ sx: {
274
+ display: 'flex',
275
+ justifyContent: 'center',
276
+ height: '100%'
277
+ },
278
+ children: /*#__PURE__*/_jsx(Content, {
279
+ blocklet: blocklet
280
+ })
281
+ })
282
+ })]
283
+ });
284
+ }
285
+ const propTypes = {
286
+ blocklet: PropTypes.object.isRequired
287
+ };
288
+ PreparePage.propTypes = propTypes;
289
+ Content.propTypes = propTypes;
290
+ export default PreparePage;
package/es/purchase.js CHANGED
@@ -59,9 +59,7 @@ import useRequest from './contexts/request';
59
59
  import { useSessionContext } from './contexts/session';
60
60
  import { useWorkflowContext } from './contexts/workflow';
61
61
  import { launchSession } from './util';
62
- import { jsx as _jsx } from "react/jsx-runtime";
63
- import { jsxs as _jsxs } from "react/jsx-runtime";
64
- import { Fragment as _Fragment } from "react/jsx-runtime";
62
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
65
63
  const SLIDE_WIDTH = 300;
66
64
  const SLIDE_MIN_WIDTH = 280;
67
65
  const getSlideConfig = (maxLength, planLength) => {
package/lib/checkout.js CHANGED
@@ -40,12 +40,12 @@ var _jsxRuntime = require("react/jsx-runtime");
40
40
  var _templateObject;
41
41
  /* eslint-disable react-hooks/exhaustive-deps */
42
42
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
43
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
43
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
44
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
45
  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; }
46
46
  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; }
47
47
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
48
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
48
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
49
49
  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); }
50
50
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
51
51
  var SpaceIcon = function SpaceIcon(props) {
@@ -258,7 +258,7 @@ function CheckoutPage(_ref) {
258
258
  }
259
259
  params.set('launchType', 'serverless');
260
260
  }
261
- if (isPurchaseOnly && !(nftState.tags || []).includes(_constant.BLOCKLET_SERVER_OWNERSHIP_NFT)) {
261
+ if (isPurchaseOnly && !(nftState.tags || []).includes(_constant.NFT_TYPE_DEDICATE)) {
262
262
  handleCancelPay();
263
263
  _dsbridge.default.call('arcClosePage');
264
264
  return;
@@ -17,7 +17,7 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
17
17
  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; }
18
18
  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; }
19
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
21
21
  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); }
22
22
  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; }
23
23
  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; }
@@ -4,34 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = LaunchDedicated;
7
+ var _AnimationWaiter = _interopRequireDefault(require("@arcblock/ux/lib/AnimationWaiter"));
8
+ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
9
+ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
10
+ var _constant = require("@blocklet/launcher-util/es/constant");
11
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
12
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
13
+ var _ahooks = require("ahooks");
14
+ var _lodash = _interopRequireDefault(require("lodash.get"));
15
+ var _lodash2 = _interopRequireDefault(require("lodash.throttle"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
17
  var _react = require("react");
8
18
  var _reactRouterDom = require("react-router-dom");
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _lodash = _interopRequireDefault(require("lodash.get"));
11
19
  var _useInterval = _interopRequireDefault(require("react-use/lib/useInterval"));
12
- var _lodash2 = _interopRequireDefault(require("lodash.throttle"));
13
- var _styled = _interopRequireDefault(require("@emotion/styled"));
14
- var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
15
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
16
- var _AnimationWaiter = _interopRequireDefault(require("@arcblock/ux/lib/AnimationWaiter"));
17
- var _constant = require("@blocklet/launcher-util/es/constant");
18
- var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
19
- var _pageHeader = _interopRequireDefault(require("@blocklet/launcher-layout/lib/page-header"));
20
20
  var _launchResultMessage = _interopRequireDefault(require("@blocklet/launcher-layout/lib/launch-result-message"));
21
+ var _pageHeader = _interopRequireDefault(require("@blocklet/launcher-layout/lib/page-header"));
21
22
  var _progressMessage = _interopRequireDefault(require("@blocklet/launcher-ux/lib/progress-message"));
22
- var _util = require("../util");
23
- var _query = _interopRequireDefault(require("../hooks/query"));
24
- var _request = _interopRequireDefault(require("../contexts/request"));
25
23
  var _locale = require("../contexts/locale");
24
+ var _request = _interopRequireDefault(require("../contexts/request"));
25
+ var _query = _interopRequireDefault(require("../hooks/query"));
26
+ var _util = require("../util");
26
27
  var _jsxRuntime = require("react/jsx-runtime");
27
28
  var _templateObject, _templateObject2, _templateObject3;
28
29
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
30
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
30
- 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; }
31
- 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; }
32
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
34
- 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); }
35
31
  const STATUS = {
36
32
  waiting: 0,
37
33
  // 未使用
@@ -44,6 +40,7 @@ const STATUS = {
44
40
  };
45
41
  function LaunchDedicated(_ref) {
46
42
  let {
43
+ sessionId,
47
44
  type
48
45
  } = _ref;
49
46
  const query = (0, _query.default)();
@@ -52,23 +49,21 @@ function LaunchDedicated(_ref) {
52
49
  t,
53
50
  locale
54
51
  } = (0, _react.useContext)(_locale.LocaleContext);
55
- const [launchState, setLaunchState] = (0, _react.useState)({
52
+ const [launchState, setLaunchState] = (0, _ahooks.useSetState)({
53
+ instanceId: '',
56
54
  appUrl: '',
57
55
  status: STATUS.waiting
58
56
  });
59
- const {
60
- nftId
61
- } = (0, _reactRouterDom.useParams)();
62
57
  const {
63
58
  api
64
59
  } = (0, _request.default)();
65
60
  const [progressStepIndex, setProgressStepIndex] = (0, _react.useState)(0);
66
61
  const [isDone, setIsDone] = (0, _react.useState)(false);
67
62
  const navigate = (0, _reactRouterDom.useNavigate)();
68
- let createServerTime = sessionStorage.getItem("launcher-create-server-".concat(nftId, "-time"));
63
+ let createServerTime = sessionStorage.getItem("launcher-create-server-".concat(sessionId, "-time"));
69
64
  if (!createServerTime) {
70
65
  createServerTime = Date.now();
71
- sessionStorage.setItem("launcher-create-server-".concat(nftId, "-time"), createServerTime);
66
+ sessionStorage.setItem("launcher-create-server-".concat(sessionId, "-time"), createServerTime);
72
67
  }
73
68
  const handleInstance = instance => {
74
69
  if (instance.status >= _constant.INSTANCE_STATUS.running) {
@@ -82,10 +77,10 @@ function LaunchDedicated(_ref) {
82
77
  });
83
78
  setIsDone(true);
84
79
  setTimeout(() => {
85
- setLaunchState(pre => _objectSpread(_objectSpread({}, pre), {}, {
80
+ setLaunchState({
86
81
  status: STATUS.success,
87
82
  appUrl: url
88
- }));
83
+ });
89
84
  (0, _util.loadURL)(url).finally(() => {
90
85
  setTimeout(() => {
91
86
  window.location.href = url;
@@ -96,21 +91,23 @@ function LaunchDedicated(_ref) {
96
91
  };
97
92
  const launch = async () => {
98
93
  try {
99
- setLaunchState(pre => _objectSpread(_objectSpread({}, pre), {}, {
94
+ setLaunchState({
100
95
  status: STATUS.launching
101
- }));
96
+ });
102
97
  const {
103
98
  data: {
104
99
  instance
105
100
  }
106
101
  } = await api.post('/instances/launch', {
107
- nftId
102
+ launchId: sessionId
108
103
  }, {
109
104
  params: {
110
- launchType: query.get('launchType'),
111
- sessionId: query.get('sessionId')
105
+ launchType: query.get('launchType')
112
106
  }
113
107
  });
108
+ setLaunchState({
109
+ instanceId: instance._id
110
+ });
114
111
  handleInstance(instance);
115
112
  } catch (err) {
116
113
  const errDesc = (0, _util.getAPIResponseError)(err);
@@ -128,25 +125,25 @@ function LaunchDedicated(_ref) {
128
125
  data: {
129
126
  instance
130
127
  }
131
- } = await api.get("/public/instances/".concat(nftId, "/status"));
128
+ } = await api.get("/instances/".concat(launchState.instanceId));
132
129
  handleInstance(instance);
133
130
  } catch (error) {
134
- sessionStorage.removeItem("launcher-create-server-".concat(nftId, "-time"));
131
+ sessionStorage.removeItem("launcher-create-server-".concat(sessionId, "-time"));
135
132
  if ((0, _lodash.default)(error, 'response.status') === 404 && launchState.status !== STATUS.launching) {
136
- setLaunchState(state => _objectSpread(_objectSpread({}, state), {}, {
133
+ setLaunchState({
137
134
  status: STATUS.notFoundError
138
- }));
135
+ });
139
136
  throw error;
140
137
  }
141
- setLaunchState(state => _objectSpread(_objectSpread({}, state), {}, {
138
+ setLaunchState({
142
139
  status: STATUS.error
143
- }));
140
+ });
144
141
  console.warn('load instance status error', error);
145
142
  throw error;
146
143
  }
147
144
  };
148
145
  const poll = (0, _lodash2.default)(getInstanceStatus, 5000);
149
- (0, _useInterval.default)(poll, launchState.status === STATUS.launching && nftId ? 5000 : null);
146
+ (0, _useInterval.default)(poll, launchState.status === STATUS.launching && launchState.instanceId ? 5000 : null);
150
147
  const successful = launchState.status === STATUS.success;
151
148
  const progressSteps = [t('launch.waiting.starting'), t('launch.waiting.securing'), t('launch.waiting.prepare'), t('launch.waiting.waiting'), t('launch.waiting.done')];
152
149
  const messageDuration = 40000;
@@ -239,6 +236,7 @@ const LinkEle = _styled.default.a(_templateObject || (_templateObject = _taggedT
239
236
  const WaiterContainer = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: #1dc1c7;\n"])));
240
237
  const Content = _styled.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: auto;\n height: 100%;\n\n .link {\n color: ", ";\n }\n\n .link:hover {\n text-decoration: underline !important;\n }\n\n .status {\n color: ", ";\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .status-spinner {\n color: inherit !important;\n }\n\n .status-text {\n display: inline-block;\n padding: 0 20px;\n max-width: 420px;\n margin-top: 24px;\n text-align: center;\n }\n }\n\n .button {\n min-width: 150px;\n margin-bottom: 100px;\n }\n .center {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n .launch-page-header {\n transition: all ease 0.3s;\n }\n"])), props => props.theme.palette.primary.main, props => props.theme.palette.primary.main);
241
238
  LaunchDedicated.propTypes = {
239
+ sessionId: _propTypes.default.string.isRequired,
242
240
  type: _propTypes.default.oneOf(['launch', 'start'])
243
241
  };
244
242
  LaunchDedicated.defaultProps = {
@@ -22,7 +22,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
22
22
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
23
23
  function LaunchServerless(_ref) {
24
24
  let {
25
- nftId
25
+ sessionId
26
26
  } = _ref;
27
27
  const {
28
28
  t,
@@ -32,13 +32,14 @@ function LaunchServerless(_ref) {
32
32
  api
33
33
  } = (0, _request.default)();
34
34
  const [searchParams] = (0, _reactRouterDom.useSearchParams)();
35
- const sessionId = searchParams.get('sessionId');
36
35
  const state = (0, _useAsync.default)(async () => {
37
36
  const {
38
37
  data: {
39
38
  instance
40
39
  }
41
- } = await api.post("/serverless/".concat(nftId, "/allocate?sessionId=").concat(sessionId));
40
+ } = await api.post('/serverless/allocate', {
41
+ launchId: sessionId
42
+ });
42
43
  setTimeout(() => {
43
44
  var _window$blocklet;
44
45
  window.location = (0, _util.getLaunchBlockletUrl)({
@@ -46,7 +47,7 @@ function LaunchServerless(_ref) {
46
47
  blockletMetaUrl: searchParams.get('blocklet_meta_url'),
47
48
  locale,
48
49
  launchType: 'serverless',
49
- nftId,
50
+ nftId: instance.nftId,
50
51
  sessionId,
51
52
  chainHost: (_window$blocklet = window.blocklet) === null || _window$blocklet === void 0 ? void 0 : _window$blocklet.CHAIN_HOST,
52
53
  from: searchParams.get('from')
@@ -90,5 +91,5 @@ function LaunchServerless(_ref) {
90
91
  }
91
92
  const Container = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .page-logo {\n display: flex;\n justify-content: center;\n margin-top: 62px;\n ", " {\n margin-top: 48px;\n }\n }\n\n .page-body {\n margin-top: 128px;\n\n .content {\n display: flex;\n align-items: center;\n flex-direction: column;\n text-align: center;\n\n .loading-description {\n margin-top: 8px;\n }\n }\n }\n"])), props => props.theme.breakpoints.down('md'));
92
93
  LaunchServerless.propTypes = {
93
- nftId: _propTypes.default.string.isRequired
94
+ sessionId: _propTypes.default.string.isRequired
94
95
  };
@@ -15,7 +15,7 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
15
15
  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; }
16
16
  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; }
17
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
19
  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); }
20
20
  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; }
21
21
  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; }
@@ -14,7 +14,7 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
14
14
  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; }
15
15
  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; }
16
16
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
18
  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); }
19
19
  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; }
20
20
  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; }
@@ -14,7 +14,7 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
14
14
  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; }
15
15
  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; }
16
16
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
18
  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); }
19
19
  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; }
20
20
  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; }
@@ -24,7 +24,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
24
24
  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; }
25
25
  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; }
26
26
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
28
28
  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); }
29
29
  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; }
30
30
  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; }
@@ -17,7 +17,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
  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; }
18
18
  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; }
19
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
21
21
  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); }
22
22
  _axios.default.defaults.timeout = 200000;
23
23
  const RequestContext = /*#__PURE__*/(0, _react.createContext)();
package/lib/launch.js CHANGED
@@ -13,7 +13,7 @@ var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  function Launch() {
15
15
  const {
16
- nftId
16
+ sessionId
17
17
  } = (0, _reactRouterDom.useParams)();
18
18
  const [searchParams] = (0, _reactRouterDom.useSearchParams)();
19
19
  const {
@@ -34,10 +34,10 @@ function Launch() {
34
34
  const launchType = searchParams.get('launchType');
35
35
  if (launchType === 'serverless') {
36
36
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_launchServerless.default, {
37
- nftId: nftId
37
+ sessionId: sessionId
38
38
  });
39
39
  }
40
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_launchDedicated.default, {
41
- nftId: nftId
41
+ sessionId: sessionId
42
42
  });
43
43
  }