@abtnode/ux 1.8.66-beta-b56e3b54 → 1.8.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.
Files changed (37) hide show
  1. package/lib/blocklet/access/config-access.js +3 -3
  2. package/lib/blocklet/actions.js +3 -3
  3. package/lib/blocklet/audit-logs.js +2 -5
  4. package/lib/blocklet/component/add.js +15 -12
  5. package/lib/blocklet/component/index.js +7 -6
  6. package/lib/blocklet/component/select-store.js +1 -3
  7. package/lib/blocklet/component/setting.js +13 -2
  8. package/lib/blocklet/component/store-blocklet-list.js +3 -3
  9. package/lib/blocklet/install-from-url.js +82 -125
  10. package/lib/blocklet/overview.js +3 -3
  11. package/lib/blocklet/router/action/add-domain-alias.js +3 -3
  12. package/lib/blocklet/router/action/add-rule.js +11 -5
  13. package/lib/blocklet/router/action/delete-domain-alias.js +3 -3
  14. package/lib/blocklet/router/action/delete-rule.js +3 -3
  15. package/lib/blocklet/router/action/update-rule.js +11 -5
  16. package/lib/blocklet/status.js +3 -3
  17. package/lib/blocklet/version.js +3 -3
  18. package/lib/confirm.js +3 -3
  19. package/lib/form/form-text-input.js +13 -5
  20. package/lib/invitation/invitation.js +2 -2
  21. package/lib/issue-passport.js +1 -0
  22. package/lib/locales/en.js +2 -7
  23. package/lib/locales/zh.js +2 -7
  24. package/lib/logs/download.js +5 -5
  25. package/lib/lost-passport.js +2 -0
  26. package/lib/store/add.js +3 -3
  27. package/lib/team/members/invite-member.js +3 -3
  28. package/lib/team/members/issue-passport.js +3 -3
  29. package/lib/team/members/member.js +2 -2
  30. package/lib/team/members/transfer-node.js +4 -4
  31. package/lib/team/passports/color.js +3 -3
  32. package/lib/team/passports/detail.js +4 -4
  33. package/lib/team/passports/index.js +3 -3
  34. package/lib/team/passports/mutate-role.js +3 -3
  35. package/lib/team/passports/trusted-issuer.js +3 -3
  36. package/lib/util/index.js +6 -8
  37. package/package.json +14 -14
@@ -25,7 +25,7 @@ var _util = require("@blocklet/meta/lib/util");
25
25
  var _context = require("@arcblock/ux/lib/Locale/context");
26
26
  var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
27
27
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
28
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
28
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
29
29
  var _node = require("../../contexts/node");
30
30
  var _team = require("../../contexts/team");
31
31
  var _util2 = require("../../util");
@@ -198,8 +198,8 @@ function ConfigAccess(_ref) {
198
198
  variant: "contained",
199
199
  autoFocus: true,
200
200
  "data-cy": "config-access-confirm",
201
- children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
202
- size: 16
201
+ children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
202
+ size: [16, 10]
203
203
  }), t('common.confirm')]
204
204
  })]
205
205
  }),
@@ -13,7 +13,7 @@ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
13
13
  var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
14
14
  var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
15
15
  var _ButtonGroup = _interopRequireDefault(require("@mui/material/ButtonGroup"));
16
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
16
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
17
17
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
18
18
  var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
19
19
  var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
@@ -397,8 +397,8 @@ function BlockletActions(_ref) {
397
397
  "data-cy": "".concat(action.action, "-blocklet"),
398
398
  onClick: () => onAction(action),
399
399
  disabled: Boolean(action.disabled) || loading,
400
- children: [currentAction === action.action && loading && inProgress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
401
- size: 16
400
+ children: [currentAction === action.action && loading && inProgress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
401
+ size: [16, 10]
402
402
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(action.icon, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
403
403
  className: "blocklet-action-text",
404
404
  children: action.name
@@ -8,7 +8,7 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
8
8
  var _reactRouterDom = require("react-router-dom");
9
9
  var _reactMarkdownPreview = _interopRequireDefault(require("@uiw/react-markdown-preview"));
10
10
  var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
11
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
11
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
12
12
  var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
13
13
  var _context = require("@arcblock/ux/lib/Locale/context");
14
14
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
@@ -49,9 +49,6 @@ function AuditLog(_ref2) {
49
49
  inService,
50
50
  info
51
51
  } = (0, _node.useNodeContext)();
52
- if (!log.actor.did) {
53
- return null;
54
- }
55
52
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
56
53
  className: "log-entry",
57
54
  "data-cy": "log-entry",
@@ -133,7 +130,7 @@ function AuditLogs() {
133
130
  textAlign: 'center',
134
131
  marginTop: '50px'
135
132
  },
136
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})
133
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {})
137
134
  });
138
135
  }
139
136
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {
@@ -12,7 +12,7 @@ var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
12
12
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
13
13
  var _pageHeader = _interopRequireDefault(require("@blocklet/launcher-layout/lib/page-header"));
14
14
  var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
15
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
15
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
16
16
  var _DialogContentText = _interopRequireDefault(require("@mui/material/DialogContentText"));
17
17
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
18
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
@@ -25,13 +25,13 @@ var _context = require("@arcblock/ux/lib/Locale/context");
25
25
  var _constant = require("@blocklet/constant");
26
26
  var _launcherLayout = _interopRequireDefault(require("@blocklet/launcher-layout"));
27
27
  var _step = require("@blocklet/launcher-layout/lib/context/step");
28
- var _constant2 = require("@abtnode/constant");
29
28
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
30
29
  var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
31
30
  var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
32
31
  var _AnimationWaiter = _interopRequireDefault(require("@arcblock/ux/lib/AnimationWaiter"));
33
32
  var _launchResultMessage = _interopRequireDefault(require("@blocklet/launcher-layout/lib/launch-result-message"));
34
33
  var _util = require("@blocklet/meta/lib/util");
34
+ var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
35
35
  var _node = require("../../contexts/node");
36
36
  var _util2 = require("../../util");
37
37
  var _toast = _interopRequireDefault(require("../../toast"));
@@ -138,6 +138,7 @@ function AddComponent(_ref2) {
138
138
  const [error, setError] = (0, _react.useState)('');
139
139
  const [showDialog, setShowDialog] = (0, _react.useState)('');
140
140
  const [configs, setConfigs] = (0, _react.useState)([]);
141
+ const [mountPointHelperText, setMountPointHelperText] = (0, _react.useState)('');
141
142
  const {
142
143
  api,
143
144
  ws: {
@@ -178,7 +179,6 @@ function AddComponent(_ref2) {
178
179
  const {
179
180
  setActiveStepByIndex
180
181
  } = stepRef.current || {};
181
- const isServerlessMode = nodeInfo.mode === _constant2.NODE_MODES.SERVERLESS;
182
182
  const updateParams = obj => setParams(x => _objectSpread(_objectSpread({}, x), obj));
183
183
  (0, _react.useEffect)(() => {
184
184
  if (params.pathPrefix) {
@@ -282,7 +282,7 @@ function AddComponent(_ref2) {
282
282
  const installInput = _objectSpread(_objectSpread(_objectSpread({
283
283
  rootDid: blocklet.meta.did,
284
284
  url,
285
- mountPoint,
285
+ mountPoint: (0, _urlFriendly.default)(mountPoint),
286
286
  title,
287
287
  name: componentName,
288
288
  did: componentDid
@@ -546,7 +546,7 @@ function AddComponent(_ref2) {
546
546
  } else {
547
547
  var _component$current$me, _component$current$me2;
548
548
  doc = _objectSpread(_objectSpread({}, doc), {}, {
549
- pathPrefix: "/".concat((0, _util.urlFriendly)(name)),
549
+ pathPrefix: "/".concat((0, _urlFriendly.default)(name)),
550
550
  title: title || '',
551
551
  componentName: '',
552
552
  hasEnvironmentsStep: ((_component$current$me = component.current.meta) === null || _component$current$me === void 0 ? void 0 : (_component$current$me2 = _component$current$me.environments) === null || _component$current$me2 === void 0 ? void 0 : _component$current$me2.length) > 0
@@ -609,7 +609,7 @@ function AddComponent(_ref2) {
609
609
  confirm: t('blocklet.component.choose')
610
610
  }
611
611
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_selectStore.default, {
612
- extra: !isServerlessMode ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
612
+ extra: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
613
613
  variant: "text",
614
614
  color: "primary",
615
615
  "data-cy": "add-component-from-url",
@@ -627,7 +627,7 @@ function AddComponent(_ref2) {
627
627
  marginRight: 4
628
628
  }
629
629
  }), " ", t('blocklet.component.addComponentTip.fromUrl'), ' ']
630
- }) : null,
630
+ }),
631
631
  loading: loading,
632
632
  onChange: () => {
633
633
  setParams({});
@@ -818,7 +818,7 @@ function AddComponent(_ref2) {
818
818
  'data-cy': 'mount-point-input'
819
819
  },
820
820
  fullWidth: true,
821
- helperText: t('blocklet.component.mountPointTip'),
821
+ helperText: mountPointHelperText || t('blocklet.component.mountPointTip'),
822
822
  style: {
823
823
  marginBottom: 32
824
824
  },
@@ -829,6 +829,9 @@ function AddComponent(_ref2) {
829
829
  updateParams({
830
830
  pathPrefix
831
831
  });
832
+ setMountPointHelperText(t('common.slugifyHint', {
833
+ value: (0, _util2.formatMountPoint)(pathPrefix)
834
+ }));
832
835
  }
833
836
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
834
837
  label: t('common.title'),
@@ -971,8 +974,8 @@ function AddComponent(_ref2) {
971
974
  onClick: onMenuItemClick,
972
975
  className: "component-action",
973
976
  "data-cy": "action-add-component",
974
- children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
975
- size: 16
977
+ children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
978
+ size: [16, 10]
976
979
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {
977
980
  style: {
978
981
  fontSize: 18,
@@ -1035,8 +1038,8 @@ function AddComponent(_ref2) {
1035
1038
  maxWidth: '200px',
1036
1039
  display: 'inline-block'
1037
1040
  },
1038
- children: [(typeof step.loading === 'boolean' ? step.loading : loading) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
1039
- size: 16
1041
+ children: [(typeof step.loading === 'boolean' ? step.loading : loading) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
1042
+ size: [16, 10]
1040
1043
  }), step.confirm]
1041
1044
  })]
1042
1045
  }),
@@ -27,12 +27,13 @@ var _ArrowForward = _interopRequireDefault(require("@mui/icons-material/ArrowFor
27
27
  var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
28
28
  var _ChevronRight = _interopRequireDefault(require("@mui/icons-material/ChevronRight"));
29
29
  var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
30
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
30
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
31
31
  var _InfoRow = _interopRequireDefault(require("@arcblock/ux/lib/InfoRow"));
32
32
  var _context = require("@arcblock/ux/lib/Locale/context");
33
33
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
34
34
  var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
35
35
  var _util = require("@blocklet/meta/lib/util");
36
+ var _normalizePathPrefix = _interopRequireDefault(require("@abtnode/util/lib/normalize-path-prefix"));
36
37
  var _deletingBlocklets = require("../../contexts/deleting-blocklets");
37
38
  var _didAddress = _interopRequireDefault(require("../../did-address"));
38
39
  var _tag = _interopRequireDefault(require("../../tag"));
@@ -308,7 +309,7 @@ function ComponentItem(_ref) {
308
309
  overflow: "hidden",
309
310
  whiteSpace: "nowrap",
310
311
  textOverflow: "ellipsis",
311
- children: mountPoint
312
+ children: (0, _normalizePathPrefix.default)(mountPoint)
312
313
  })
313
314
  })
314
315
  }, mountPoint), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
@@ -634,8 +635,8 @@ function BlockletComponent(_ref4) {
634
635
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
635
636
  mr: 0.5,
636
637
  display: "flex",
637
- children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
638
- size: 16
638
+ children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
639
+ size: [16, 10]
639
640
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Update.default, {
640
641
  style: {
641
642
  fontSize: '1em'
@@ -791,8 +792,8 @@ function BlockletComponent(_ref4) {
791
792
  disabled: loading || updateConfirm.type === 'component' && !updateConfirm.hasChecks,
792
793
  variant: "contained",
793
794
  autoFocus: true,
794
- children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
795
- size: 16
795
+ children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
796
+ size: [16, 10]
796
797
  }), t('common.update')]
797
798
  })]
798
799
  })]
@@ -10,7 +10,6 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _context = require("@arcblock/ux/lib/Locale/context");
11
11
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
12
12
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
13
- var _constant = require("@abtnode/constant");
14
13
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
15
14
  var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
16
15
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
@@ -55,7 +54,6 @@ function SelectStore(_ref) {
55
54
  nodeInfo
56
55
  });
57
56
  const currentRegistry = storeUrl && storeList.find(x => storeUrl === x.url) || storeList[0];
58
- const isServerlessMode = nodeInfo.mode === _constant.NODE_MODES.SERVERLESS;
59
57
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
60
58
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {
61
59
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
@@ -126,7 +124,7 @@ function SelectStore(_ref) {
126
124
  }
127
125
  })
128
126
  }, x.url);
129
- }), !isServerlessMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
127
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
130
128
  disabled: loading,
131
129
  storeList: storeList,
132
130
  teamDid: teamDid,
@@ -9,6 +9,7 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
11
11
  var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
12
13
  var _toast = _interopRequireDefault(require("../../toast"));
13
14
  var _formTextInput = _interopRequireDefault(require("../../form/form-text-input"));
14
15
  var _node = require("../../contexts/node");
@@ -43,6 +44,7 @@ function ComponentSetting(_ref) {
43
44
  const isDynamic = blocklet.dynamic;
44
45
  const rootDid = isRoot ? blocklet.meta.did : ancestors.map(x => x.meta.did)[0];
45
46
  const [loading, setLoading] = (0, _react.useState)('');
47
+ const [mountPointHelperText, setMountPointHelperText] = (0, _react.useState)('');
46
48
  const isDev = (0, _util.isBlockletDev)(blocklet);
47
49
  const disabled = isDev || loading || !hasPermission;
48
50
  if (!rootDid) {
@@ -74,7 +76,7 @@ function ComponentSetting(_ref) {
74
76
  try {
75
77
  const input = {
76
78
  rootDid,
77
- mountPoint: value
79
+ mountPoint: (0, _urlFriendly.default)(value)
78
80
  };
79
81
  if (!isRoot) {
80
82
  input.did = blocklet.meta.did;
@@ -83,6 +85,7 @@ function ComponentSetting(_ref) {
83
85
  input
84
86
  });
85
87
  setLoading(false);
88
+ return true;
86
89
  } catch (err) {
87
90
  setLoading(false);
88
91
  err.message = (0, _util.formatError)(err);
@@ -90,6 +93,11 @@ function ComponentSetting(_ref) {
90
93
  throw err;
91
94
  }
92
95
  };
96
+ const handleMountPointChange = value => {
97
+ setMountPointHelperText(t('common.slugifyHint', {
98
+ value: (0, _util.formatMountPoint)(value)
99
+ }));
100
+ };
93
101
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, _objectSpread(_objectSpread({
94
102
  component: "div"
95
103
  }, rest), {}, {
@@ -114,7 +122,10 @@ function ComponentSetting(_ref) {
114
122
  loading: loading,
115
123
  required: true,
116
124
  initialValue: blocklet.mountPoint,
117
- onSubmit: onSubmitMountPoint
125
+ onSubmit: onSubmitMountPoint,
126
+ onChange: handleMountPointChange,
127
+ helperText: mountPointHelperText,
128
+ formatterBeforeSubmit: value => (0, _urlFriendly.default)(value)
118
129
  })]
119
130
  })
120
131
  }));
@@ -14,7 +14,7 @@ var _reactErrorBoundary = require("react-error-boundary");
14
14
  var _list = _interopRequireDefault(require("@blocklet/list"));
15
15
  var _context = require("@arcblock/ux/lib/Locale/context");
16
16
  var _Blocklet = _interopRequireWildcard(require("@arcblock/ux/lib/Blocklet"));
17
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
17
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
18
18
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
19
19
  var _util = require("@blocklet/meta/lib/util");
20
20
  var _toast = _interopRequireDefault(require("../../toast"));
@@ -120,8 +120,8 @@ function BlockletItem(_ref2) {
120
120
  color: "primary",
121
121
  "data-cy": "install-blocklet",
122
122
  children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
123
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
124
- size: 16,
123
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
124
+ size: [16, 10],
125
125
  style: {
126
126
  marginRight: 3
127
127
  }
@@ -8,7 +8,7 @@ var _react = require("react");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _semver = _interopRequireDefault(require("semver"));
10
10
  var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
11
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
11
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
12
12
  var _DialogContentText = _interopRequireDefault(require("@mui/material/DialogContentText"));
13
13
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
14
14
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
@@ -16,14 +16,12 @@ var _Stepper = _interopRequireDefault(require("@mui/material/Stepper"));
16
16
  var _Step = _interopRequireDefault(require("@mui/material/Step"));
17
17
  var _StepLabel = _interopRequireDefault(require("@mui/material/StepLabel"));
18
18
  var _InfoRow = _interopRequireDefault(require("@arcblock/ux/lib/InfoRow"));
19
- var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
20
19
  var _context = require("@arcblock/ux/lib/Locale/context");
21
20
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
22
21
  var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
23
22
  var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
24
23
  var _util = require("@blocklet/meta/lib/util");
25
24
  var _node = require("../contexts/node");
26
- var _session = require("../contexts/session");
27
25
  var _util2 = require("../util");
28
26
  var _didAddress = _interopRequireDefault(require("../did-address"));
29
27
  var _jsxRuntime = require("react/jsx-runtime");
@@ -45,9 +43,6 @@ function InstallFromUrl(_ref) {
45
43
  const {
46
44
  api
47
45
  } = (0, _node.useNodeContext)();
48
- const {
49
- api: $api
50
- } = (0, _session.useSessionContext)();
51
46
  const [loading, setLoading] = (0, _react.useState)(false);
52
47
  const [error, setError] = (0, _react.useState)('');
53
48
  const {
@@ -60,8 +55,6 @@ function InstallFromUrl(_ref) {
60
55
  const [activeStep, setActiveStep] = (0, _react.useState)(defaultUrl ? 1 : 0);
61
56
  const [meta, setMeta] = (0, _react.useState)(initMeta);
62
57
  const [existingMeta, setExistingMeta] = (0, _react.useState)(null);
63
- const [isConnectOpen, setConnectOpen] = (0, _react.useState)(false);
64
- const [canUpgrade, setCanUpgrade] = (0, _react.useState)(false);
65
58
  const [params, setParams] = (0, _react.useState)({});
66
59
  const isComponentMode = mode === 'component';
67
60
  // if mode is component , we need to always show the step, that means the user can return to the previous step
@@ -102,11 +95,12 @@ function InstallFromUrl(_ref) {
102
95
  attachRuntimeInfo: false
103
96
  }
104
97
  });
105
- if (existedBlocklet) {
98
+ if (existedBlocklet && _semver.default.gte(existedBlocklet.meta.version, newer.version)) {
106
99
  setExistingMeta(existedBlocklet.meta);
107
- setCanUpgrade(_semver.default.lt(existedBlocklet.meta.version, newer.version));
100
+ setMeta(newer);
101
+ } else {
102
+ setMeta(newer);
108
103
  }
109
- setMeta(newer);
110
104
  }
111
105
  setParams({
112
106
  inStore,
@@ -127,43 +121,28 @@ function InstallFromUrl(_ref) {
127
121
  onSuccess(_objectSpread({
128
122
  meta
129
123
  }, params));
130
- _onCancel();
131
- return;
132
- }
133
- if (canUpgrade) {
134
- try {
135
- setLoading(true);
136
- await api.installBlocklet({
137
- input: {
138
- url: decodeURIComponent(url.trim())
139
- }
140
- });
141
- onSuccess(_objectSpread({
142
- meta
143
- }, params));
144
- _onCancel();
145
- } catch (err) {
146
- const errMsg = "Blocklet Install failed: ".concat((0, _util2.formatError)(err));
147
- setError(errMsg);
148
- } finally {
149
- setLoading(false);
150
- }
151
- return;
124
+ } else {
125
+ await onInstall();
152
126
  }
153
- setLoading(true);
154
- setConnectOpen(true);
155
- };
156
- const onEndInstall = () => {
157
- setLoading(false);
158
- setConnectOpen(false);
159
- onSuccess(_objectSpread({
160
- meta
161
- }, params));
162
127
  _onCancel();
163
128
  };
164
- const onCancelInstall = () => {
165
- setLoading(false);
166
- setConnectOpen(false);
129
+ const onInstall = async () => {
130
+ setLoading(true);
131
+ try {
132
+ await api.installBlocklet({
133
+ input: {
134
+ url: decodeURIComponent(url.trim())
135
+ }
136
+ });
137
+ onSuccess(_objectSpread({
138
+ meta
139
+ }, params));
140
+ } catch (err) {
141
+ const errMsg = "Blocklet Install failed: ".concat((0, _util2.formatError)(err));
142
+ setError(errMsg);
143
+ } finally {
144
+ setLoading(false);
145
+ }
167
146
  };
168
147
  (0, _react.useEffect)(() => {
169
148
  if (defaultUrl) {
@@ -202,7 +181,7 @@ function InstallFromUrl(_ref) {
202
181
  justifyContent: 'center',
203
182
  flexDirection: 'column'
204
183
  },
205
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})
184
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {})
206
185
  });
207
186
  }
208
187
  if (meta.did) {
@@ -226,7 +205,7 @@ function InstallFromUrl(_ref) {
226
205
  name: row.name,
227
206
  children: row.value
228
207
  }, row.name);
229
- }), existingMeta && !canUpgrade && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
208
+ }), existingMeta && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
230
209
  type: "error",
231
210
  variant: "icon",
232
211
  style: {
@@ -297,7 +276,7 @@ function InstallFromUrl(_ref) {
297
276
  }
298
277
  },
299
278
  onConfirm: () => {
300
- if (existingMeta && !canUpgrade) {
279
+ if (existingMeta) {
301
280
  _onCancel();
302
281
  } else {
303
282
  _onConfirm();
@@ -305,89 +284,67 @@ function InstallFromUrl(_ref) {
305
284
  }
306
285
  }];
307
286
  const step = steps[activeStep];
308
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
309
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {
310
- title: (handleText === null || handleText === void 0 ? void 0 : handleText.title) || t('blocklet.fromUrl.title'),
311
- fullWidth: true,
312
- maxWidth: "md",
313
- onClose: () => step.onCancel(),
314
- showCloseButton: activeStep === 0,
315
- disableEscapeKeyDown: true,
316
- open: true,
317
- actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
318
- children: [step.cancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
319
- onClick: e => {
320
- e.stopPropagation();
321
- setError(null);
322
- step.onCancel();
323
- },
324
- color: "inherit",
325
- children: step.cancel || t('common.cancel')
326
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
327
- onClick: e => {
328
- e.stopPropagation();
329
- step.onConfirm();
330
- },
331
- color: "primary",
332
- "data-cy": "install-blocklet-next-step",
333
- disabled: loading || !url || error,
334
- variant: "contained",
335
- autoFocus: true,
336
- style: {
337
- marginLeft: 8
338
- },
339
- children: [loading && activeStep === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
340
- size: 16
341
- }), step.confirm]
342
- })]
343
- }),
344
- children: [alwayShowSteps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stepper.default, {
345
- alternativeLabel: true,
346
- activeStep: activeStep,
347
- children: steps.map(_ref2 => {
348
- let {
349
- label
350
- } = _ref2;
351
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Step.default, {
352
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_StepLabel.default, {
353
- children: label
354
- })
355
- }, label);
356
- })
357
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {
358
- component: "div",
359
- style: {
360
- marginTop: 24
287
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {
288
+ title: (handleText === null || handleText === void 0 ? void 0 : handleText.title) || t('blocklet.fromUrl.title'),
289
+ fullWidth: true,
290
+ maxWidth: "md",
291
+ onClose: () => step.onCancel(),
292
+ showCloseButton: activeStep === 0,
293
+ disableEscapeKeyDown: true,
294
+ open: true,
295
+ actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
296
+ children: [step.cancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
297
+ onClick: e => {
298
+ e.stopPropagation();
299
+ setError(null);
300
+ step.onCancel();
361
301
  },
362
- children: step.body
363
- }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
364
- type: "error",
302
+ color: "inherit",
303
+ children: step.cancel || t('common.cancel')
304
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
305
+ onClick: e => {
306
+ e.stopPropagation();
307
+ step.onConfirm();
308
+ },
309
+ color: "primary",
310
+ "data-cy": "install-blocklet-next-step",
311
+ disabled: loading || !url || error,
312
+ variant: "contained",
313
+ autoFocus: true,
365
314
  style: {
366
- width: '100%',
367
- marginTop: 8
315
+ marginLeft: 8
368
316
  },
369
- children: error
317
+ children: [loading && activeStep === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
318
+ size: [16, 10]
319
+ }), step.confirm]
370
320
  })]
371
- }), meta && isConnectOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
372
- popup: true,
373
- open: true,
374
- forceConnected: false,
375
- className: "launch-from-url-auth",
376
- action: "launch-free-blocklet-by-session",
377
- checkFn: $api.get,
378
- checkTimeout: 5 * 60 * 1000,
379
- onSuccess: onEndInstall,
380
- extraParams: {
381
- title: meta.title,
382
- blockletMetaUrl: decodeURIComponent(url.trim())
321
+ }),
322
+ children: [alwayShowSteps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stepper.default, {
323
+ alternativeLabel: true,
324
+ activeStep: activeStep,
325
+ children: steps.map(_ref2 => {
326
+ let {
327
+ label
328
+ } = _ref2;
329
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Step.default, {
330
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_StepLabel.default, {
331
+ children: label
332
+ })
333
+ }, label);
334
+ })
335
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {
336
+ component: "div",
337
+ style: {
338
+ marginTop: 24
383
339
  },
384
- messages: {
385
- title: t('setup.keyPair.title'),
386
- scan: t('setup.keyPair.scan'),
387
- confirm: t('setup.keyPair.confirm'),
388
- success: t('setup.keyPair.success')
340
+ children: step.body
341
+ }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
342
+ type: "error",
343
+ style: {
344
+ width: '100%',
345
+ marginTop: 8
389
346
  },
390
- onClose: onCancelInstall
347
+ children: error
391
348
  })]
392
349
  });
393
350
  }
@@ -9,7 +9,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
10
  var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
11
11
  var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
12
- var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
12
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
13
13
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
14
14
  var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
15
15
  var _InfoRow = _interopRequireDefault(require("@arcblock/ux/lib/InfoRow"));
@@ -49,7 +49,7 @@ function DomainLink(_ref) {
49
49
  placement: "top-end",
50
50
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
51
51
  className: "status",
52
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
52
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
53
53
  size: 12
54
54
  })
55
55
  })
@@ -255,7 +255,7 @@ function BlockletOverview() {
255
255
  }
256
256
  })]
257
257
  })
258
- }, domain.value)), !domains.length && (loadingRuntimeInfo ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
258
+ }, domain.value)), !domains.length && (loadingRuntimeInfo ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
259
259
  size: 16
260
260
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {
261
261
  children: t('common.empty')