@blocklet/launcher-workflow 1.5.63 → 1.5.66
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 +98 -0
- package/lib/components/instance-operation.js +4 -4
- package/lib/components/page-header.js +1 -1
- package/lib/components/server-eula.js +100 -0
- package/lib/components/stripe/paying.js +1 -1
- package/lib/locales/en.js +11 -5
- package/lib/locales/zh.js +10 -4
- package/lib/prepare.js +7 -13
- package/lib/purchase.js +6 -5
- package/package.json +9 -8
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = ConfirmDialog;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
13
|
+
|
|
14
|
+
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
15
|
+
|
|
16
|
+
var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
|
|
17
|
+
|
|
18
|
+
var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
|
|
19
|
+
|
|
20
|
+
var _DialogContentText = _interopRequireDefault(require("@material-ui/core/DialogContentText"));
|
|
21
|
+
|
|
22
|
+
var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
|
|
23
|
+
|
|
24
|
+
var _useTheme = _interopRequireDefault(require("@material-ui/core/styles/useTheme"));
|
|
25
|
+
|
|
26
|
+
var _useMediaQuery = _interopRequireDefault(require("@material-ui/core/useMediaQuery"));
|
|
27
|
+
|
|
28
|
+
var _locale = require("../contexts/locale");
|
|
29
|
+
|
|
30
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
+
|
|
32
|
+
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); }
|
|
33
|
+
|
|
34
|
+
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
|
+
|
|
36
|
+
function ConfirmDialog(_ref) {
|
|
37
|
+
let {
|
|
38
|
+
title,
|
|
39
|
+
description,
|
|
40
|
+
cancel,
|
|
41
|
+
confirm,
|
|
42
|
+
color,
|
|
43
|
+
params: initialParams,
|
|
44
|
+
onCancel,
|
|
45
|
+
onConfirm
|
|
46
|
+
} = _ref;
|
|
47
|
+
const {
|
|
48
|
+
t
|
|
49
|
+
} = (0, _react.useContext)(_locale.LocaleContext);
|
|
50
|
+
const [params, setParams] = (0, _react.useState)(initialParams);
|
|
51
|
+
const theme = (0, _useTheme.default)();
|
|
52
|
+
const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('sm'));
|
|
53
|
+
|
|
54
|
+
const onCallback = cb => {
|
|
55
|
+
if (typeof cb === 'function') {
|
|
56
|
+
cb(params);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
|
|
61
|
+
open: true,
|
|
62
|
+
fullScreen: isBreakpointsDownSm
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, null, typeof title === 'function' ? title() : title), /*#__PURE__*/_react.default.createElement(_DialogContent.default, null, /*#__PURE__*/_react.default.createElement(_DialogContentText.default, null, typeof description === 'function' ? description(params, setParams) : description)), /*#__PURE__*/_react.default.createElement(_DialogActions.default, {
|
|
64
|
+
style: {
|
|
65
|
+
padding: '8px 24px 24px'
|
|
66
|
+
}
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
68
|
+
onClick: () => onCallback(onCancel),
|
|
69
|
+
color: "default",
|
|
70
|
+
rounded: true
|
|
71
|
+
}, cancel || t('common.cancel')), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
72
|
+
onClick: () => onCallback(onConfirm),
|
|
73
|
+
color: color,
|
|
74
|
+
variant: "outlined",
|
|
75
|
+
autoFocus: true,
|
|
76
|
+
rounded: true
|
|
77
|
+
}, confirm || t('common.confirm'))));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
ConfirmDialog.propTypes = {
|
|
81
|
+
title: _propTypes.default.any.isRequired,
|
|
82
|
+
description: _propTypes.default.any.isRequired,
|
|
83
|
+
// can be a function that renders different content based on params
|
|
84
|
+
cancel: _propTypes.default.string,
|
|
85
|
+
color: _propTypes.default.string,
|
|
86
|
+
confirm: _propTypes.default.string,
|
|
87
|
+
params: _propTypes.default.object,
|
|
88
|
+
// This object holds states managed in the dialog
|
|
89
|
+
onCancel: _propTypes.default.func,
|
|
90
|
+
onConfirm: _propTypes.default.func.isRequired
|
|
91
|
+
};
|
|
92
|
+
ConfirmDialog.defaultProps = {
|
|
93
|
+
onCancel: () => {},
|
|
94
|
+
cancel: '',
|
|
95
|
+
confirm: '',
|
|
96
|
+
color: 'danger',
|
|
97
|
+
params: {}
|
|
98
|
+
};
|
|
@@ -9,12 +9,12 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _reactRouterDom = require("react-router-dom");
|
|
11
11
|
|
|
12
|
-
var _reactUse = require("react-use");
|
|
13
|
-
|
|
14
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
13
|
|
|
16
14
|
var _lodash = _interopRequireDefault(require("lodash.get"));
|
|
17
15
|
|
|
16
|
+
var _useInterval = _interopRequireDefault(require("react-use/lib/useInterval"));
|
|
17
|
+
|
|
18
18
|
var _lodash2 = _interopRequireDefault(require("lodash.throttle"));
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
@@ -121,7 +121,7 @@ function OperationPage(_ref) {
|
|
|
121
121
|
};
|
|
122
122
|
|
|
123
123
|
const poll = (0, _lodash2.default)(getInstanceStatus, 5000);
|
|
124
|
-
(0,
|
|
124
|
+
(0, _useInterval.default)(poll, launchState.status === STATUS.launching && nftId ? 5000 : null);
|
|
125
125
|
(0, _react.useEffect)(() => {
|
|
126
126
|
if (!nftId) {
|
|
127
127
|
return;
|
|
@@ -187,7 +187,7 @@ function OperationPage(_ref) {
|
|
|
187
187
|
const Content = _styledComponents.default.div.withConfig({
|
|
188
188
|
displayName: "instance-operation__Content",
|
|
189
189
|
componentId: "sc-1fcaixs-0"
|
|
190
|
-
})(["margin:auto;height:100%;.link{color
|
|
190
|
+
})(["margin:auto;height:100%;.link{color:", ";}.link:hover{text-decoration:underline !important;}.status{color:", ";display:flex;flex-direction:column;align-items:center;.status-spinner{color:inherit !important;}.status-text{display:inline-block;padding:0 20px;max-width:420px;margin-top:24px;text-align:center;}}.button{min-width:150px;margin-bottom:100px;}.center{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}"], props => props.theme.palette.primary.main, props => props.theme.palette.primary.main);
|
|
191
191
|
|
|
192
192
|
OperationPage.propTypes = {
|
|
193
193
|
type: _propTypes.default.oneOf(['launch', 'start']),
|
|
@@ -28,7 +28,7 @@ function PageHeader(_ref) {
|
|
|
28
28
|
const Content = _styledComponents.default.div.withConfig({
|
|
29
29
|
displayName: "page-header__Content",
|
|
30
30
|
componentId: "sc-2cz88s-0"
|
|
31
|
-
})(["width:100%;text-align:center;.title{font-size:24px;color:", ";}.sub-title{font-size:14px;color:", ";}"], props => props.theme.palette.common.black, props => props.theme.palette.grey[600]);
|
|
31
|
+
})(["width:100%;text-align:center;.title{font-size:24px;font-weight:700;color:", ";}.sub-title{font-size:14px;color:", ";padding:0 14px;font-weight:400;}"], props => props.theme.palette.common.black, props => props.theme.palette.grey[600]);
|
|
32
32
|
|
|
33
33
|
var _default = PageHeader;
|
|
34
34
|
exports.default = _default;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = ServerEula;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _useLocalStorage = _interopRequireDefault(require("react-use/lib/useLocalStorage"));
|
|
15
|
+
|
|
16
|
+
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
|
|
17
|
+
|
|
18
|
+
var _CheckCircleRounded = _interopRequireDefault(require("@material-ui/icons/CheckCircleRounded"));
|
|
19
|
+
|
|
20
|
+
var _CheckCircleOutlineRounded = _interopRequireDefault(require("@material-ui/icons/CheckCircleOutlineRounded"));
|
|
21
|
+
|
|
22
|
+
var _FormLabel = _interopRequireDefault(require("@material-ui/core/FormLabel"));
|
|
23
|
+
|
|
24
|
+
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
25
|
+
|
|
26
|
+
var _server = _interopRequireDefault(require("@arcblock/license/lib/server"));
|
|
27
|
+
|
|
28
|
+
var _locale = require("../contexts/locale");
|
|
29
|
+
|
|
30
|
+
var _confirm = _interopRequireDefault(require("./confirm"));
|
|
31
|
+
|
|
32
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
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; }
|
|
37
|
+
|
|
38
|
+
/* eslint-disable react/jsx-wrap-multilines */
|
|
39
|
+
function ServerEula(_ref) {
|
|
40
|
+
let {
|
|
41
|
+
onContinue,
|
|
42
|
+
nextDisabled
|
|
43
|
+
} = _ref;
|
|
44
|
+
const [agreed, setAgreed] = (0, _useLocalStorage.default)('server-eula-checked', false);
|
|
45
|
+
const [open, setOpen] = (0, _react.useState)(false);
|
|
46
|
+
const {
|
|
47
|
+
t
|
|
48
|
+
} = (0, _react.useContext)(_locale.LocaleContext);
|
|
49
|
+
|
|
50
|
+
const handleChecked = () => setAgreed(x => !x);
|
|
51
|
+
|
|
52
|
+
const handleOpen = () => setOpen(x => !x);
|
|
53
|
+
|
|
54
|
+
const handleCancel = () => setOpen(false);
|
|
55
|
+
|
|
56
|
+
const handleConfirm = () => {
|
|
57
|
+
setAgreed(true);
|
|
58
|
+
setOpen(false);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Div, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
62
|
+
className: "eula-checkbox"
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
|
|
64
|
+
checked: agreed,
|
|
65
|
+
onChange: handleChecked,
|
|
66
|
+
color: "primary",
|
|
67
|
+
checkedIcon: /*#__PURE__*/_react.default.createElement(_CheckCircleRounded.default, null),
|
|
68
|
+
icon: /*#__PURE__*/_react.default.createElement(_CheckCircleOutlineRounded.default, null)
|
|
69
|
+
}), /*#__PURE__*/_react.default.createElement(_FormLabel.default, {
|
|
70
|
+
className: "eula-trigger",
|
|
71
|
+
onClick: handleOpen
|
|
72
|
+
}, t('license.footer'))), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
73
|
+
disabled: !agreed || nextDisabled,
|
|
74
|
+
color: "primary",
|
|
75
|
+
variant: "contained",
|
|
76
|
+
className: "next-button",
|
|
77
|
+
onClick: onContinue
|
|
78
|
+
}, t('common.next'))), open && /*#__PURE__*/_react.default.createElement(_confirm.default, {
|
|
79
|
+
title: t('license.title'),
|
|
80
|
+
description: /*#__PURE__*/_react.default.createElement(_server.default, {
|
|
81
|
+
className: "eula-content"
|
|
82
|
+
}),
|
|
83
|
+
color: "primary",
|
|
84
|
+
onCancel: handleCancel,
|
|
85
|
+
onConfirm: handleConfirm
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
ServerEula.propTypes = {
|
|
90
|
+
onContinue: _propTypes.default.func.isRequired,
|
|
91
|
+
nextDisabled: _propTypes.default.bool
|
|
92
|
+
};
|
|
93
|
+
ServerEula.defaultProps = {
|
|
94
|
+
nextDisabled: false
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
const Div = _styledComponents.default.div.withConfig({
|
|
98
|
+
displayName: "server-eula__Div",
|
|
99
|
+
componentId: "sc-16uy00s-0"
|
|
100
|
+
})(["width:90%;max-width:450px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;@media (max-width:", "px){flex-direction:column;}.eula-checkbox{display:flex;align-items:center;.eula-trigger{cursor:pointer;font-size:14px;&:hover{color:", ";}}}.next-button{width:120px;}"], props => props.theme.breakpoints.values.sm, props => props.theme.palette.primary.main);
|
|
@@ -83,4 +83,4 @@ Paying.propTypes = {
|
|
|
83
83
|
const Content = _styledComponents.default.div.withConfig({
|
|
84
84
|
displayName: "paying__Content",
|
|
85
85
|
componentId: "sc-1n02bp2-0"
|
|
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
|
|
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:", ";}"], props => props.theme.palette.common.white);
|
package/lib/locales/en.js
CHANGED
|
@@ -17,11 +17,13 @@ module.exports = {
|
|
|
17
17
|
next: 'Next',
|
|
18
18
|
purchase: 'Purchase',
|
|
19
19
|
redeem: 'Redeem',
|
|
20
|
-
redirecting: 'Redirecting'
|
|
20
|
+
redirecting: 'Redirecting',
|
|
21
|
+
cancel: 'Cancel',
|
|
22
|
+
confirm: 'Confirm'
|
|
21
23
|
},
|
|
22
24
|
plan: {
|
|
23
|
-
title: 'Select Blocklet Server
|
|
24
|
-
subTitle: '
|
|
25
|
+
title: 'Select Blocklet Server Plan',
|
|
26
|
+
subTitle: 'Select payment method and plan',
|
|
25
27
|
loadListFailed: 'Plan list load error',
|
|
26
28
|
paymentCredit: {
|
|
27
29
|
status: {
|
|
@@ -35,9 +37,13 @@ module.exports = {
|
|
|
35
37
|
useFiat: 'Credit Card',
|
|
36
38
|
noPlan: 'No blocklet server available for purchase'
|
|
37
39
|
},
|
|
40
|
+
license: {
|
|
41
|
+
title: 'End User License Agreement',
|
|
42
|
+
footer: 'I agree to the Blocklet Server EULA'
|
|
43
|
+
},
|
|
38
44
|
prepare: {
|
|
39
45
|
title: 'Naming Blocklet Server',
|
|
40
|
-
subTitle: 'Please enter
|
|
46
|
+
subTitle: 'Please enter server name and description, they will appear in your server passport'
|
|
41
47
|
},
|
|
42
48
|
launch: {
|
|
43
49
|
title: 'Create Blocklet Server',
|
|
@@ -71,7 +77,7 @@ module.exports = {
|
|
|
71
77
|
},
|
|
72
78
|
redeem: {
|
|
73
79
|
title: 'Redeem Blocklet Server',
|
|
74
|
-
subTitle: 'Name
|
|
80
|
+
subTitle: 'Name the blocklet server you are going to redeem, the name will exist on server passport',
|
|
75
81
|
dialog: {
|
|
76
82
|
title: 'Redeem Blocklet Server',
|
|
77
83
|
scan: 'Scan the QR code below with your DID wallet to complete redeem',
|
package/lib/locales/zh.js
CHANGED
|
@@ -12,10 +12,12 @@ module.exports = {
|
|
|
12
12
|
description: '描述',
|
|
13
13
|
retry: '重试',
|
|
14
14
|
launch: '启动',
|
|
15
|
-
next: '
|
|
15
|
+
next: '继续',
|
|
16
16
|
redeem: '兑换',
|
|
17
17
|
purchase: '购买',
|
|
18
|
-
redirecting: '跳转中'
|
|
18
|
+
redirecting: '跳转中',
|
|
19
|
+
cancel: '取消',
|
|
20
|
+
confirm: '同意'
|
|
19
21
|
},
|
|
20
22
|
plan: {
|
|
21
23
|
title: '创建节点',
|
|
@@ -33,9 +35,13 @@ module.exports = {
|
|
|
33
35
|
useFiat: '信用卡支付',
|
|
34
36
|
noPlan: '没有可购买的节点类型'
|
|
35
37
|
},
|
|
38
|
+
license: {
|
|
39
|
+
title: '节点用户协议',
|
|
40
|
+
footer: '我已经阅读并同意节点的用户协议'
|
|
41
|
+
},
|
|
36
42
|
prepare: {
|
|
37
43
|
title: '命名节点',
|
|
38
|
-
subTitle: '
|
|
44
|
+
subTitle: '请输入要创建的节点名称和描述,它们将显示在您的节点通行证中'
|
|
39
45
|
},
|
|
40
46
|
launch: {
|
|
41
47
|
title: '创建节点',
|
|
@@ -69,7 +75,7 @@ module.exports = {
|
|
|
69
75
|
},
|
|
70
76
|
redeem: {
|
|
71
77
|
title: '启动节点',
|
|
72
|
-
subTitle: '
|
|
78
|
+
subTitle: '为你的节点起个名字吧,节点名字将会打印在节点通行证上',
|
|
73
79
|
dialog: {
|
|
74
80
|
title: '兑换节点',
|
|
75
81
|
scan: '用您的 DID 钱包扫描下面的二维码,提供 NFT',
|
package/lib/prepare.js
CHANGED
|
@@ -11,8 +11,6 @@ var _reactRouterDom = require("react-router-dom");
|
|
|
11
11
|
|
|
12
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
13
|
|
|
14
|
-
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
15
|
-
|
|
16
14
|
var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
|
|
17
15
|
|
|
18
16
|
var _utils = require("@arcblock/did-connect/lib/utils");
|
|
@@ -27,6 +25,8 @@ var _launcherConstant = require("@blocklet/launcher-constant");
|
|
|
27
25
|
|
|
28
26
|
var _pageHeader = _interopRequireDefault(require("./components/page-header"));
|
|
29
27
|
|
|
28
|
+
var _serverEula = _interopRequireDefault(require("./components/server-eula"));
|
|
29
|
+
|
|
30
30
|
var _request = _interopRequireDefault(require("./contexts/request"));
|
|
31
31
|
|
|
32
32
|
var _locale = require("./contexts/locale");
|
|
@@ -203,16 +203,10 @@ function PreparePage() {
|
|
|
203
203
|
labelWidth: 0
|
|
204
204
|
}), error.description && /*#__PURE__*/_react.default.createElement(_FormHelperText.default, null, error.description)))), /*#__PURE__*/_react.default.createElement("div", {
|
|
205
205
|
className: "botton-container"
|
|
206
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
},
|
|
211
|
-
color: "primary",
|
|
212
|
-
variant: "contained",
|
|
213
|
-
rounded: true,
|
|
214
|
-
onClick: handleLaunch
|
|
215
|
-
}, t('common.next')))), /*#__PURE__*/_react.default.createElement(_Connect.default, {
|
|
206
|
+
}, /*#__PURE__*/_react.default.createElement(_serverEula.default, {
|
|
207
|
+
onContinue: handleLaunch,
|
|
208
|
+
nextDisabled: !name.trim() || !description.trim()
|
|
209
|
+
}))), /*#__PURE__*/_react.default.createElement(_Connect.default, {
|
|
216
210
|
open: showLaunchInstanceDialog,
|
|
217
211
|
popup: true,
|
|
218
212
|
action: "launch-instance",
|
|
@@ -240,4 +234,4 @@ function PreparePage() {
|
|
|
240
234
|
const Container = _styledComponents.default.div.withConfig({
|
|
241
235
|
displayName: "prepare__Container",
|
|
242
236
|
componentId: "sc-1ddofcz-0"
|
|
243
|
-
})(["display:flex;flex-direction:column;width:100%;height:100%;.page-logo{display:flex;justify-content:center;margin-top:62px;", "{margin-top:48px;}}.inputs{display:flex;align-items:center;flex-direction:column;text-align:center;}.input-item{margin-top:24px;width:90%;max-width:
|
|
237
|
+
})(["display:flex;flex-direction:column;width:100%;height:100%;.page-logo{display:flex;justify-content:center;margin-top:62px;", "{margin-top:48px;}}.inputs{display:flex;align-items:center;flex-direction:column;text-align:center;}.input-item{margin-top:24px;width:90%;max-width:450px;font-size:14px;input,textarea{font-size:14px;}}.botton-container{margin-top:24px;text-align:center;}"], props => props.theme.breakpoints.down('sm'));
|
package/lib/purchase.js
CHANGED
|
@@ -27,6 +27,8 @@ var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect
|
|
|
27
27
|
|
|
28
28
|
var _utils = require("@arcblock/did-connect/lib/utils");
|
|
29
29
|
|
|
30
|
+
var _useMediaQuery = _interopRequireDefault(require("@material-ui/core/useMediaQuery"));
|
|
31
|
+
|
|
30
32
|
var _compactLayout = _interopRequireDefault(require("@blocklet/launcher-layout/lib/compact-layout"));
|
|
31
33
|
|
|
32
34
|
var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
|
|
@@ -90,6 +92,7 @@ function PurchasePage() {
|
|
|
90
92
|
const [buttonInFix, setButtonInFix] = (0, _react.useState)(false);
|
|
91
93
|
const [paymentType, setPaymentType] = (0, _react.useState)('crypto');
|
|
92
94
|
const routerPrefix = (0, _router.usePrefix)();
|
|
95
|
+
const isMobile = (0, _useMediaQuery.default)(theme => theme.breakpoints.down('sm'));
|
|
93
96
|
const userDid = query.get('userDid') || (0, _lodash.default)(session, 'user.did');
|
|
94
97
|
const isEmbed = !!query.get('blocklet_meta_url');
|
|
95
98
|
(0, _react.useEffect)(() => {
|
|
@@ -236,7 +239,6 @@ function PurchasePage() {
|
|
|
236
239
|
const PayButton = () => /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
237
240
|
onClick: () => handlePay(paymentType),
|
|
238
241
|
disabled: paying,
|
|
239
|
-
rounded: true,
|
|
240
242
|
variant: "contained",
|
|
241
243
|
color: "primary"
|
|
242
244
|
}, paying && /*#__PURE__*/_react.default.createElement(_Spinner.default, {
|
|
@@ -245,7 +247,6 @@ function PurchasePage() {
|
|
|
245
247
|
|
|
246
248
|
const RedeemButton = () => /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
247
249
|
onClick: () => handleRedeem(),
|
|
248
|
-
rounded: true,
|
|
249
250
|
variant: "outlined",
|
|
250
251
|
color: "primary",
|
|
251
252
|
style: {
|
|
@@ -267,7 +268,7 @@ function PurchasePage() {
|
|
|
267
268
|
}
|
|
268
269
|
};
|
|
269
270
|
|
|
270
|
-
return /*#__PURE__*/_react.default.createElement(Container, null, isEmbed && /*#__PURE__*/_react.default.createElement(_pageHeader.default, {
|
|
271
|
+
return /*#__PURE__*/_react.default.createElement(Container, null, isEmbed && !isMobile && /*#__PURE__*/_react.default.createElement(_pageHeader.default, {
|
|
271
272
|
title: t('plan.title'),
|
|
272
273
|
subTitle: t('plan.subTitle')
|
|
273
274
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -279,7 +280,7 @@ function PurchasePage() {
|
|
|
279
280
|
bottom: plans.length ? /*#__PURE__*/_react.default.createElement("div", {
|
|
280
281
|
className: "button-container container-padding ".concat(buttonInFix ? 'has-shadow' : '')
|
|
281
282
|
}, /*#__PURE__*/_react.default.createElement(RedeemButton, null), /*#__PURE__*/_react.default.createElement(PayButton, null)) : ''
|
|
282
|
-
}, !isEmbed && /*#__PURE__*/_react.default.createElement(_pageHeader.default, {
|
|
283
|
+
}, (!isEmbed || isMobile) && /*#__PURE__*/_react.default.createElement(_pageHeader.default, {
|
|
283
284
|
title: t('plan.title'),
|
|
284
285
|
subTitle: t('plan.subTitle')
|
|
285
286
|
}), plans.length ? /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -333,7 +334,7 @@ const Center = _styledComponents.default.div.withConfig({
|
|
|
333
334
|
const Container = _styledComponents.default.div.withConfig({
|
|
334
335
|
displayName: "purchase__Container",
|
|
335
336
|
componentId: "sc-1knmtel-1"
|
|
336
|
-
})(["display:flex;flex-direction:column;width:100%;height:100%;.select-payment{display:flex;justify-content:center;align-items:center;padding-top:30px;}.select-plan{margin:48px auto 33px;", "{margin:30px auto;}&.small-select-plan-2{max-width:780px;}&.small-select-plan-0,&.small-select-plan-1{max-width:460px;}}.page-body{position:relative;flex:1;margin-top:0;}.page-body-article{position:absolute;left:0;top:0;width:100%;height:100%;overflow-y:auto;}.selector-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:18px;}.button-container{display:flex;justify-content:center;align-items:center;padding-bottom:15px;padding-top:15px;> button{width:200px;}&.has-shadow{box-shadow:rgba(
|
|
337
|
+
})(["display:flex;flex-direction:column;width:100%;height:100%;.select-payment{display:flex;justify-content:center;align-items:center;padding-top:30px;}.select-plan{margin:48px auto 33px;", "{margin:30px auto;}&.small-select-plan-2{max-width:780px;}&.small-select-plan-0,&.small-select-plan-1{max-width:460px;}}.page-body{position:relative;flex:1;margin-top:0;}.page-body-article{position:absolute;left:0;top:0;width:100%;height:100%;overflow-y:auto;}.selector-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:18px;}.button-container{display:flex;justify-content:center;align-items:center;padding-bottom:15px;padding-top:15px;> button{width:200px;}&.has-shadow{box-shadow:0px -1px 1px 0px rgba(168,180,197,0.12);}}.select-body-item{cursor:pointer;transition:background-color ease 0.2s,border ease 0.2s;}.selected{border-color:", ";cursor:default;}.container-padding{padding-left:24px;padding-right:24px;}"], props => props.theme.breakpoints.down('sm'), props => props.theme.palette.primary.main);
|
|
337
338
|
|
|
338
339
|
const PaymentLabel = _styledComponents.default.div.withConfig({
|
|
339
340
|
displayName: "purchase__PaymentLabel",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blocklet/launcher-workflow",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.66",
|
|
4
4
|
"description": "Purchase components for Launcher UI",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -37,15 +37,16 @@
|
|
|
37
37
|
"react": ">=16.12.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@arcblock/did-connect": "^1.16.
|
|
41
|
-
"@arcblock/icons": "^1.16.
|
|
42
|
-
"@arcblock/
|
|
43
|
-
"@
|
|
44
|
-
"@blocklet/launcher-
|
|
40
|
+
"@arcblock/did-connect": "^1.16.49",
|
|
41
|
+
"@arcblock/icons": "^1.16.49",
|
|
42
|
+
"@arcblock/license": "^1.16.49",
|
|
43
|
+
"@arcblock/ux": "^1.16.49",
|
|
44
|
+
"@blocklet/launcher-constant": "1.5.66",
|
|
45
|
+
"@blocklet/launcher-layout": "1.5.66",
|
|
45
46
|
"@material-ui/core": "^4.12.3",
|
|
46
47
|
"@material-ui/icons": "^4.11.2",
|
|
47
48
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
|
48
|
-
"@ocap/util": "^1.
|
|
49
|
+
"@ocap/util": "^1.15.2",
|
|
49
50
|
"@stripe/react-stripe-js": "^1.7.0",
|
|
50
51
|
"@stripe/stripe-js": "^1.22.0",
|
|
51
52
|
"@styled-icons/remix-fill": "^10.18.0",
|
|
@@ -67,5 +68,5 @@
|
|
|
67
68
|
"babel-plugin-inline-react-svg": "^2.0.1",
|
|
68
69
|
"babel-plugin-styled-components": "^1.10.7"
|
|
69
70
|
},
|
|
70
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "054ff34e86c6c725fc76bd94a62664c690f6df15"
|
|
71
72
|
}
|