@abtnode/ux 1.16.25-next-b726d470 → 1.16.25

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 (67) hide show
  1. package/es/blocklet/actions.js +11 -1
  2. package/es/blocklet/component/add-component-core.js +5 -0
  3. package/es/blocklet/component/component-cell.js +2 -1
  4. package/es/blocklet/icons.js +3 -1
  5. package/es/blocklet/overview.js +13 -7
  6. package/es/blocklet/publish/create-release.js +150 -43
  7. package/es/blocklet/publish/index.js +0 -4
  8. package/es/blocklet/publish/project-list.js +133 -29
  9. package/es/blocklet/publish/release-list.js +18 -4
  10. package/es/blocklet/publish/resource.js +35 -32
  11. package/es/blocklet/router/rule-list.js +2 -1
  12. package/es/locales/ar.js +13 -8
  13. package/es/locales/de.js +13 -8
  14. package/es/locales/en.js +12 -7
  15. package/es/locales/es.js +13 -8
  16. package/es/locales/fr.js +13 -8
  17. package/es/locales/hi.js +13 -8
  18. package/es/locales/i18n.db +0 -0
  19. package/es/locales/id.js +13 -8
  20. package/es/locales/ja.js +13 -8
  21. package/es/locales/ko.js +13 -8
  22. package/es/locales/pt.js +13 -8
  23. package/es/locales/ru.js +13 -8
  24. package/es/locales/th.js +13 -8
  25. package/es/locales/vi.js +13 -8
  26. package/es/locales/zh-tw.js +13 -8
  27. package/es/locales/zh.js +17 -12
  28. package/es/subscription/blocklet.js +3 -0
  29. package/es/subscription/server.js +11 -5
  30. package/es/team/members/connections.js +2 -1
  31. package/es/team/members/member.js +2 -1
  32. package/es/util/index.js +0 -4
  33. package/lib/blocklet/actions.js +14 -2
  34. package/lib/blocklet/component/add-component-core.js +1 -1
  35. package/lib/blocklet/component/component-cell.js +2 -1
  36. package/lib/blocklet/icons.js +3 -1
  37. package/lib/blocklet/overview.js +13 -7
  38. package/lib/blocklet/publish/create-release.js +154 -43
  39. package/lib/blocklet/publish/index.js +0 -4
  40. package/lib/blocklet/publish/project-list.js +133 -29
  41. package/lib/blocklet/publish/release-list.js +18 -4
  42. package/lib/blocklet/publish/resource.js +34 -31
  43. package/lib/blocklet/router/rule-list.js +2 -1
  44. package/lib/locales/ar.js +13 -8
  45. package/lib/locales/de.js +13 -8
  46. package/lib/locales/en.js +12 -7
  47. package/lib/locales/es.js +13 -8
  48. package/lib/locales/fr.js +13 -8
  49. package/lib/locales/hi.js +13 -8
  50. package/lib/locales/i18n.db +0 -0
  51. package/lib/locales/id.js +13 -8
  52. package/lib/locales/ja.js +13 -8
  53. package/lib/locales/ko.js +13 -8
  54. package/lib/locales/pt.js +13 -8
  55. package/lib/locales/ru.js +13 -8
  56. package/lib/locales/th.js +13 -8
  57. package/lib/locales/vi.js +13 -8
  58. package/lib/locales/zh-tw.js +13 -8
  59. package/lib/locales/zh.js +17 -12
  60. package/lib/subscription/blocklet.js +3 -0
  61. package/lib/subscription/server.js +10 -4
  62. package/lib/team/members/connections.js +2 -1
  63. package/lib/team/members/member.js +2 -1
  64. package/lib/util/index.js +0 -5
  65. package/package.json +16 -16
  66. package/es/blocklet/publish/create-project.js +0 -205
  67. package/lib/blocklet/publish/create-project.js +0 -215
@@ -7,15 +7,22 @@ exports.default = ProjectList;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactRouterDom = require("react-router-dom");
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _urlJoin = _interopRequireDefault(require("url-join"));
10
11
  var _context = require("@arcblock/ux/lib/Locale/context");
11
12
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
13
+ var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
12
14
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
15
+ var _LibraryAdd = _interopRequireDefault(require("@mui/icons-material/LibraryAdd"));
13
16
  var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
17
+ var _InstallDesktop = _interopRequireDefault(require("@mui/icons-material/InstallDesktop"));
18
+ var _Download = _interopRequireDefault(require("@mui/icons-material/Download"));
19
+ var _constant = require("@abtnode/constant");
14
20
  var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
15
21
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
16
22
  var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
17
23
  var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
18
24
  var _RelativeTime = _interopRequireDefault(require("@arcblock/ux/lib/RelativeTime"));
25
+ var _material = require("@mui/material");
19
26
  var _blocklet = require("../../contexts/blocklet");
20
27
  var _node = require("../../contexts/node");
21
28
  var _emptySpinner = _interopRequireDefault(require("../../empty-spinner"));
@@ -23,13 +30,15 @@ var _didAddress = _interopRequireDefault(require("../../did-address"));
23
30
  var _confirm = _interopRequireDefault(require("../../confirm"));
24
31
  var _bundleAvatar = _interopRequireDefault(require("../bundle-avatar"));
25
32
  var _jsxRuntime = require("react/jsx-runtime");
26
- var _templateObject;
33
+ var _window$env, _templateObject;
27
34
  /* eslint-disable react/no-unstable-nested-components */
28
35
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
36
  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); }
30
37
  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; }
31
38
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
39
+ const serverEndpoint = (_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.serverEndpoint;
32
40
  function ProjectList() {
41
+ const navigate = (0, _reactRouterDom.useNavigate)();
33
42
  const {
34
43
  t,
35
44
  locale
@@ -61,6 +70,11 @@ function ProjectList() {
61
70
  _Toast.default.error(err.message);
62
71
  });
63
72
  };
73
+ const handleNewBlocklet = () => {
74
+ navigate('/.well-known/service/admin/publish/0/create', {
75
+ replace: true
76
+ });
77
+ };
64
78
  const onDeleteProject = project => {
65
79
  setDeleteConfirm(project);
66
80
  };
@@ -87,7 +101,15 @@ function ProjectList() {
87
101
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
88
102
 
89
103
  if (!projects && loading) {
90
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_emptySpinner.default, {});
104
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
105
+ sx: {
106
+ display: 'flex',
107
+ justifyContent: 'center',
108
+ alignItems: 'center',
109
+ marginTop: '40px'
110
+ },
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_emptySpinner.default, {})
112
+ });
91
113
  }
92
114
  if (!projects) {
93
115
  return null;
@@ -112,12 +134,10 @@ function ProjectList() {
112
134
  mb: 3
113
135
  },
114
136
  children: t('blocklet.publish.createBlockletTip')
115
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
116
- to: "create",
117
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
118
- variant: "contained",
119
- children: t('blocklet.publish.createBlocklet')
120
- })
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
138
+ onClick: handleNewBlocklet,
139
+ variant: "contained",
140
+ children: t('blocklet.publish.createBlocklet')
121
141
  })]
122
142
  });
123
143
  }
@@ -202,34 +222,118 @@ function ProjectList() {
202
222
  options: {
203
223
  customBodyRenderLite: rawIndex => {
204
224
  const project = projects[rawIndex];
205
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
225
+ let installUrl = '';
226
+ let downloadUrl = '';
227
+ if (project.lastReleaseId) {
228
+ const blockletMetaUrl = (0, _urlJoin.default)(serverEndpoint, "/api/project/".concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/release/blocklet.json"));
229
+ const url = new URL(serverEndpoint);
230
+ url.pathname = (0, _urlJoin.default)(url.pathname, '/launch-blocklet/agreement');
231
+ url.searchParams.set('blocklet_meta_url', blockletMetaUrl);
232
+ installUrl = url.href;
233
+ downloadUrl = (0, _urlJoin.default)("".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, "/api/project/").concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/download/").concat((project.lastReleaseFiles || [])[0]));
234
+ }
235
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
206
236
  display: "flex",
207
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
208
- color: "error",
209
- "aria-label": "delete",
210
- onClick: () => onDeleteProject(project),
211
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
212
- sx: {
213
- fontSize: 18
214
- }
237
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
238
+ to: "".concat(project.id, "/create"),
239
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
240
+ title: t('blocklet.publish.createRelease'),
241
+ placement: "top",
242
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
243
+ color: "primary",
244
+ "aria-label": "create",
245
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LibraryAdd.default, {
246
+ sx: {
247
+ fontSize: 18
248
+ }
249
+ })
250
+ })
251
+ })
252
+ }), !!project.lastReleaseId && project.type === 'pack' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
253
+ title: t('blocklet.publish.install', {
254
+ name: project.blockletTitle
255
+ }),
256
+ placement: "top",
257
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
258
+ color: "secondary",
259
+ "aria-label": "create",
260
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
261
+ style: {
262
+ display: 'flex'
263
+ },
264
+ href: installUrl,
265
+ target: "_blank",
266
+ rel: "noreferrer",
267
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InstallDesktop.default, {
268
+ sx: {
269
+ fontSize: 18
270
+ }
271
+ })
272
+ })
273
+ })
274
+ }), !!project.lastReleaseId && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
275
+ title: t('blocklet.publish.download', {
276
+ name: project.blockletTitle
277
+ }),
278
+ placement: "top",
279
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
280
+ color: "primary",
281
+ "aria-label": "create",
282
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
283
+ style: {
284
+ display: 'flex'
285
+ },
286
+ href: downloadUrl,
287
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {
288
+ sx: {
289
+ fontSize: 18
290
+ }
291
+ })
292
+ })
293
+ })
294
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
295
+ title: t('blocklet.publish.delete', {
296
+ name: project.blockletTitle
297
+ }),
298
+ placement: "top",
299
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
300
+ color: "primary",
301
+ "aria-label": "delete",
302
+ onClick: () => onDeleteProject(project),
303
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
304
+ sx: {
305
+ fontSize: 18
306
+ }
307
+ })
215
308
  })
216
- })
309
+ })]
217
310
  });
218
311
  }
219
312
  }
220
313
  }].filter(Boolean);
221
314
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Main, {
222
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
223
- sx: {
224
- textAlign: 'right'
225
- },
226
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
227
- to: "create",
228
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
229
- variant: "contained",
230
- children: t('blocklet.publish.createBlocklet')
231
- })
232
- })
315
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
316
+ display: "flex",
317
+ justifyContent: "space-between",
318
+ alignItems: "center",
319
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
320
+ sx: {
321
+ fontSize: '1.2rem',
322
+ fontWeight: 'bold'
323
+ },
324
+ children: t('blocklet.publish.productListTitle')
325
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
326
+ onClick: handleNewBlocklet,
327
+ variant: "contained",
328
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
329
+ style: {
330
+ fontSize: '1.3em',
331
+ marginRight: 4
332
+ }
333
+ }), t('blocklet.publish.createBlocklet')]
334
+ })]
335
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
336
+ mt: 3
233
337
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {
234
338
  className: "main-table",
235
339
  locale: locale,
@@ -16,6 +16,7 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
16
16
  var _Breadcrumbs = _interopRequireDefault(require("@mui/material/Breadcrumbs"));
17
17
  var _Download = _interopRequireDefault(require("@mui/icons-material/Download"));
18
18
  var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
19
+ var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
19
20
  var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
20
21
  var _constant = require("@abtnode/constant");
21
22
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
@@ -117,7 +118,15 @@ function ReleaseList() {
117
118
  setDeleteConfirm(release);
118
119
  };
119
120
  if (!releases && loading) {
120
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_emptySpinner.default, {});
121
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
122
+ sx: {
123
+ display: 'flex',
124
+ justifyContent: 'center',
125
+ alignItems: 'center',
126
+ marginTop: '40px'
127
+ },
128
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_emptySpinner.default, {})
129
+ });
121
130
  }
122
131
  if (!releases) {
123
132
  return null;
@@ -243,7 +252,7 @@ function ReleaseList() {
243
252
  }
244
253
  })
245
254
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
246
- color: "error",
255
+ color: "primary",
247
256
  "aria-label": "delete",
248
257
  onClick: () => onDeleteRelease(release),
249
258
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
@@ -261,9 +270,14 @@ function ReleaseList() {
261
270
  className: "header",
262
271
  children: [breadcrumbs, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
263
272
  to: "create",
264
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
273
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
265
274
  variant: "contained",
266
- children: t('blocklet.publish.createRelease')
275
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
276
+ style: {
277
+ fontSize: '1.3em',
278
+ marginRight: 4
279
+ }
280
+ }), t('blocklet.publish.createRelease')]
267
281
  })
268
282
  })]
269
283
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {
@@ -143,37 +143,40 @@ function Resource(_ref) {
143
143
  })
144
144
  });
145
145
  }
146
- return [/*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
147
- className: (0, _classnames.default)(error && 'error'),
148
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
149
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tree.default, {
150
- data: resources,
151
- value: selectedResourceIds,
152
- onChange: data => {
153
- setSelectedResourceIds(data);
154
- },
155
- disabled: loading || readonly
156
- }), !readonly && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
157
- className: "footer",
158
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
159
- variant: "contained",
160
- disabled: loading,
161
- onClick: () => _onSave(),
162
- children: t('common.save')
163
- })
164
- })]
165
- })
166
- }), !!warning && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
167
- color: "warning.main",
168
- mt: 1,
169
- fontSize: 14,
170
- children: warning
171
- }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
172
- color: "error.main",
173
- mt: 1,
174
- fontSize: 14,
175
- children: error
176
- })];
146
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
147
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
148
+ className: (0, _classnames.default)(error && 'error'),
149
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
150
+ pb: 2,
151
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tree.default, {
152
+ data: resources,
153
+ value: selectedResourceIds,
154
+ onChange: data => {
155
+ setSelectedResourceIds(data);
156
+ },
157
+ disabled: loading || readonly
158
+ }), !readonly && warning && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
159
+ className: "footer",
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
161
+ variant: "contained",
162
+ disabled: loading,
163
+ onClick: () => _onSave(),
164
+ children: t('common.save')
165
+ })
166
+ })]
167
+ })
168
+ }), !!warning && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
169
+ color: "warning.main",
170
+ mt: 1,
171
+ fontSize: 14,
172
+ children: warning
173
+ }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
174
+ color: "error.main",
175
+ mt: 1,
176
+ fontSize: 14,
177
+ children: error
178
+ })]
179
+ });
177
180
  }
178
181
  Resource.propTypes = {
179
182
  component: _propTypes.default.object.isRequired,
@@ -7,6 +7,7 @@ exports.default = RuleListWithPermission;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _isUrl = _interopRequireDefault(require("is-url"));
10
+ var _trimEnd = _interopRequireDefault(require("lodash/trimEnd"));
10
11
  var _useTheme = _interopRequireDefault(require("@mui/material/styles/useTheme"));
11
12
  var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
12
13
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
@@ -179,7 +180,7 @@ function RuleList(_ref2) {
179
180
  fontSize: 16
180
181
  },
181
182
  underline: "hover",
182
- children: rule.from.pathPrefix
183
+ children: (0, _trimEnd.default)(rule.from.pathPrefix, '/') || '/'
183
184
  })
184
185
  }, rule.from.pathPrefix), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
185
186
  children: hasPermission && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
package/lib/locales/ar.js CHANGED
@@ -661,12 +661,12 @@ var _default = exports.default = {
661
661
  resourceTitle: 'موارد',
662
662
  blockletEmptyTip: 'لا توجد أي كتل هنا',
663
663
  createBlockletTip: 'يمكنك إنشاء وحدة جديدة من خلال الموارد والمكونات والتكوين الحالي في هذا التطبيق',
664
- createBlocklet: 'أنشئ كتلة جديدة',
664
+ createBlocklet: 'بلوكليت جديد',
665
665
  deleteBlockletTip: 'لا يمكن استعادة البلوكليت بعد الحذف ، يرجى التأكيد',
666
666
  componentNotRunning: 'المكون {name} غير قيد التشغيل ، يرجى تشغيله أولاً',
667
667
  releaseEmptyTip: 'لا توجد أي إصدارات هنا',
668
668
  createReleaseTip: 'يمكنك إنشاء إصدار للـ بلوكليت، جنباً إلى جنب مع ملاحظات الإصدار والموارد، ليستخدمها الآخرون.',
669
- createRelease: 'أنشئ إصدارًا جديدًا',
669
+ createRelease: 'إصدار جديد',
670
670
  deleteReleaseTip: 'لا يمكن استعادة الإصدار بعد الحذف',
671
671
  createBlockletDid: 'أنشئ من محفظة DID',
672
672
  createReleaseSuccess: 'تم إنشاء الإصدار بنجاح',
@@ -686,13 +686,18 @@ var _default = exports.default = {
686
686
  noDescription: 'الوصف المطلوب للكتلة',
687
687
  noNote: 'ملاحظة الإصدار مطلوبة'
688
688
  },
689
- packTip: 'سيتم تضمين مكونات وتكوين التطبيق تلقائيًا في البلوكليت.',
689
+ packTip: 'حالياً ، يمكن تثبيت البلوكليتس مباشرة كتطبيقات. سيتم تضمين المكونات وتكوينات التطبيق تلقائيًا في البلوكليت.',
690
690
  resourceChangedWarning: 'لقد قمت بتعديل المورد، يرجى حفظه في الوقت المناسب',
691
- installResourceTip: 'يرجى إضافة المكون في التطبيق، عنوان URL للمكون:',
691
+ installResourceTip: 'رابط التثبيت:',
692
692
  installResourceTip2: 'إذا كنت ترغب في رؤية المزيد من النصائح، يرجى زيارة',
693
693
  installResourceHelp: 'وثيقة المساعدة',
694
694
  componentIncluded: 'مدرج',
695
- componentForceRequired: 'مجبر مطلوب'
695
+ componentForceRequired: 'مجبر مطلوب',
696
+ productListTitle: 'نشر بلوكلتس',
697
+ download: 'تحميل {name}',
698
+ delete: 'احذف {name}',
699
+ copyInstallUrl: 'انسخ عنوان URL للتثبيت',
700
+ install: 'تثبيت {name}'
696
701
  },
697
702
  titleValidationError: 'يجب أن يكون طول العنوان على الأقل 3 أحرف',
698
703
  descriptionValidationError: 'يجب أن تكون طول الوصف بين 3 و 160 حرفًا'
@@ -796,7 +801,7 @@ var _default = exports.default = {
796
801
  switchLabel: 'صفحة الترحيب'
797
802
  },
798
803
  upgrade: {
799
- title: 'ترقية خادم Blocklet {version}',
804
+ title: 'ترقية خادم البلوكليت',
800
805
  description: 'خلال الترقية، سيدخل خادم Blocklet الخاص بك في وضع الصيانة لبضع دقائق أثناء إكمال التحديث.',
801
806
  dialog: "انقر فوق 'تأكيد' لتثبيت التحديث. سيدخل خادم Blocklet في وضع الصيانة حتى يتم الانتهاء من التحديث والعودة تلقائيًا إلى وضع الإنتاج.",
802
807
  confirm: 'تطوير',
@@ -809,7 +814,7 @@ var _default = exports.default = {
809
814
  verifying: 'التحقق من خادم بلوكليت الإصدار {version}',
810
815
  rollback: 'مخدم رولباك بلوك ليت',
811
816
  complete: 'تم ترقية النظام بنجاح!',
812
- progress: 'ترقية خادم Blocklet {version}',
817
+ progress: 'ترقية {name}',
813
818
  check: 'التحقق من التحديثات',
814
819
  latest: 'أنت تستخدم أحدث إصدار.'
815
820
  },
@@ -824,7 +829,7 @@ var _default = exports.default = {
824
829
  cleanup: 'تأكد من أن كل شيء على ما يرام',
825
830
  rollback: 'قم بتنظيف الحالة القذرة',
826
831
  complete: 'صيانة كاملة!',
827
- progress: 'إعادة تشغيل خادم بلوكليت'
832
+ progress: 'إعادة تشغيل {name}'
828
833
  },
829
834
  register: {
830
835
  titleAdded: 'تمت إضافتها إلى Blocklet Launcher',
package/lib/locales/de.js CHANGED
@@ -661,12 +661,12 @@ var _default = exports.default = {
661
661
  resourceTitle: 'Ressourcen',
662
662
  blockletEmptyTip: 'Es gibt hier keine Blocklets',
663
663
  createBlockletTip: 'Sie können über vorhandene Ressourcen, Komponenten und Konfigurationen in dieser Anwendung einen neuen Blocklet erstellen',
664
- createBlocklet: 'Erstelle einen neuen Blocklet',
664
+ createBlocklet: 'Neuer Blocklet',
665
665
  deleteBlockletTip: 'Der Blocklet kann nach dem Löschen nicht wiederhergestellt werden, bitte bestätigen',
666
666
  componentNotRunning: 'Komponente {name} läuft nicht, starten Sie sie bitte zuerst',
667
667
  releaseEmptyTip: 'Hier gibt es keine Veröffentlichungen',
668
668
  createReleaseTip: 'Du kannst eine Veröffentlichung des Blocklets erstellen, zusammen mit Versionshinweisen und Ressourcen, die andere Personen nutzen können.',
669
- createRelease: 'Erstellen Sie eine neue Version',
669
+ createRelease: 'Neue Veröffentlichung',
670
670
  deleteReleaseTip: 'Die Veröffentlichung kann nach Löschung nicht wiederhergestellt werden',
671
671
  createBlockletDid: 'Erstelle aus dem DID Wallet',
672
672
  createReleaseSuccess: 'Freigabe erfolgreich erstellt',
@@ -686,13 +686,18 @@ var _default = exports.default = {
686
686
  noDescription: 'Blocklet-Beschreibung ist erforderlich',
687
687
  noNote: 'Versionshinweis wird benötigt'
688
688
  },
689
- packTip: 'Komponenten und Anwendungskonfiguration werden automatisch in das Blocklet einbezogen.',
689
+ packTip: 'Derzeit können Blocklets direkt als Anwendungen installiert werden. Komponenten und Anwendungskonfigurationen werden automatisch in das Blocklet aufgenommen.',
690
690
  resourceChangedWarning: 'Sie haben die Ressource geändert, bitte rechtzeitig speichern',
691
- installResourceTip: 'Bitte fügen Sie das Bauteil in einer Anwendung hinzu, Bauteil-URL:',
691
+ installResourceTip: 'Installations-URL:',
692
692
  installResourceTip2: 'Wenn du mehr Tipps sehen möchtest, besuche bitte',
693
693
  installResourceHelp: 'Hilfe-Dokument',
694
694
  componentIncluded: 'Eingeschlossen',
695
- componentForceRequired: 'Erzwungen Erforderlich'
695
+ componentForceRequired: 'Erzwungen Erforderlich',
696
+ productListTitle: 'Veröffentliche Blocklets',
697
+ download: 'Download {name}',
698
+ delete: 'Lösche {name}',
699
+ copyInstallUrl: 'Kopiere Installations-URL',
700
+ install: 'Installiere {name}'
696
701
  },
697
702
  titleValidationError: 'Die Länge des Titels muss mindestens 3 Zeichen betragen',
698
703
  descriptionValidationError: 'Die Beschreibungslänge muss zwischen 3 und 160 Zeichen liegen'
@@ -796,7 +801,7 @@ var _default = exports.default = {
796
801
  switchLabel: 'Willkommen Seite'
797
802
  },
798
803
  upgrade: {
799
- title: 'Blocklet-Server aktualisieren {version}',
804
+ title: 'Blocklet-Server aktualisieren',
800
805
  description: 'Während des Upgrades wird Ihr Blocklet Server für einige Minuten in den Wartungsmodus wechseln, während das Update abgeschlossen wird.',
801
806
  dialog: "Klicken Sie auf 'Bestätigen', um das Update zu installieren. Der Blocklet Server wird in den Wartungsmodus wechseln, bis das Update abgeschlossen ist, und kehrt automatisch in den Produktionsmodus zurück.",
802
807
  confirm: 'Upgrade',
@@ -809,7 +814,7 @@ var _default = exports.default = {
809
814
  verifying: 'Überprüfe Blocklet Server v{version}',
810
815
  rollback: 'Rollback Blocklet Server',
811
816
  complete: 'Upgrade abgeschlossen!',
812
- progress: 'Blocklet Server {version} wird aktualisiert',
817
+ progress: 'Upgrading {name}',
813
818
  check: 'Such nach Aktualisierungen',
814
819
  latest: 'Sie nutzen die neueste Version.'
815
820
  },
@@ -824,7 +829,7 @@ var _default = exports.default = {
824
829
  cleanup: 'Stelle sicher, dass alles in Ordnung ist',
825
830
  rollback: 'Reinige den schmutzigen Zustand',
826
831
  complete: 'Instandhaltung komplett!',
827
- progress: 'Blocklet-Server wird neu gestartet'
832
+ progress: 'Neustart {name}'
828
833
  },
829
834
  register: {
830
835
  titleAdded: 'Hinzugefügt zu Blocklet Launcher',
package/lib/locales/en.js CHANGED
@@ -648,6 +648,10 @@ var _default = exports.default = {
648
648
  isInProgress: 'Blocklet is in progress, please wait for it to finish'
649
649
  },
650
650
  publish: {
651
+ productListTitle: 'Publish Blocklets',
652
+ download: 'Download {name}',
653
+ delete: 'Delete {name}',
654
+ copyInstallUrl: 'Copy Install URL',
651
655
  createResource: 'Create Resource',
652
656
  addResource: 'Add Release',
653
657
  productTitle: 'Product',
@@ -656,19 +660,20 @@ var _default = exports.default = {
656
660
  resourceTitle: 'Resources',
657
661
  blockletEmptyTip: 'There aren’t any blocklets here',
658
662
  createBlockletTip: 'You can create new blocklet through existing resources, components, and configuration in this application',
659
- createBlocklet: 'Create a new blocklet',
663
+ createBlocklet: 'New blocklet',
660
664
  deleteBlockletTip: 'The blocklet cannot be recovered after deletion, please confirm',
661
665
  componentNotRunning: 'Component {name} is not running, please start it first',
662
666
  releaseEmptyTip: 'There aren’t any releases here',
663
667
  createReleaseTip: 'You can create a release of the blocklet, along with release notes and resources, for other people to use',
664
- createRelease: 'Create a new release',
668
+ createRelease: 'New release',
665
669
  deleteReleaseTip: 'The release cannot be recovered after deletion',
666
670
  createBlockletDid: 'Create from DID Wallet',
667
671
  createReleaseSuccess: 'Release created successfully',
668
672
  saveDraftSuccess: 'Draft saved successfully',
669
- packTip: 'Components and application configuration will be automatically included in the blocklet',
673
+ packTip: 'Currently blocklets can be installed directly as applications. Components and application configurations will be automatically included in the Blocklet',
670
674
  resourceChangedWarning: 'You have modified the resource, please save it in time',
671
- installResourceTip: 'Please add the component in an application, component URL:',
675
+ install: 'Install {name}',
676
+ installResourceTip: 'Install Url:',
672
677
  installResourceTip2: 'If you want to see more tips, please visit',
673
678
  installResourceHelp: 'Help Document',
674
679
  componentIncluded: 'Included',
@@ -789,7 +794,7 @@ var _default = exports.default = {
789
794
  switchLabel: 'Welcome Page'
790
795
  },
791
796
  upgrade: {
792
- title: 'Upgrade Blocklet Server {version}',
797
+ title: 'Upgrade Blocklet Server',
793
798
  description: 'During the upgrade, your Blocklet Server will enter maintenance mode for a few minutes while the update is completed.',
794
799
  dialog: 'Click on "confirm" to install the update. Blocklet Server will enter maintenance mode until the update is completed and return to production mode automatically.',
795
800
  confirm: 'Upgrade',
@@ -802,7 +807,7 @@ var _default = exports.default = {
802
807
  verifying: 'Verifying Blocklet Server v{version}',
803
808
  rollback: 'Rollback Blocklet Server',
804
809
  complete: 'Upgrade complete!',
805
- progress: 'Upgrading Blocklet Server {version}',
810
+ progress: 'Upgrading {name}',
806
811
  check: 'Check for Updates',
807
812
  latest: 'You are running the latest version.'
808
813
  },
@@ -817,7 +822,7 @@ var _default = exports.default = {
817
822
  cleanup: 'Ensure everything is OK',
818
823
  rollback: 'Cleanup the dirty state',
819
824
  complete: 'Maintain complete!',
820
- progress: 'Restarting Blocklet Server'
825
+ progress: 'Restarting {name}'
821
826
  },
822
827
  register: {
823
828
  titleAdded: 'Added to Blocklet Launcher',
package/lib/locales/es.js CHANGED
@@ -661,12 +661,12 @@ var _default = exports.default = {
661
661
  resourceTitle: 'Recursos',
662
662
  blockletEmptyTip: 'Aquí no hay bloqueadores',
663
663
  createBlockletTip: 'Puede crear un nuevo blocklet a través de recursos, componentes y configuración existentes en esta aplicación',
664
- createBlocklet: 'Crear un nuevo blocklet',
664
+ createBlocklet: 'Nuevo bloque',
665
665
  deleteBlockletTip: 'El blocklet no puede ser recuperado después de ser eliminado, por favor confirma',
666
666
  componentNotRunning: 'El componente {name} no está en ejecución, por favor iniciar primero',
667
667
  releaseEmptyTip: 'No hay lanzamientos aquí',
668
668
  createReleaseTip: 'Puedes crear una versión de la blocklet, junto con notas de lanzamiento y recursos, para que otras personas la puedan utilizar',
669
- createRelease: 'Crear una nueva versión',
669
+ createRelease: 'Nuevo lanzamiento',
670
670
  deleteReleaseTip: 'La versión no se puede recuperar después de la eliminación',
671
671
  createBlockletDid: 'Crear desde la billetera DID',
672
672
  createReleaseSuccess: 'Liberación creada exitosamente',
@@ -686,13 +686,18 @@ var _default = exports.default = {
686
686
  noDescription: 'La descripción de Blocklet es requerida',
687
687
  noNote: 'Se requiere la Nota de Lanzamiento'
688
688
  },
689
- packTip: 'Los componentes y la configuración de la aplicación se incluirán automáticamente en el blocklet',
689
+ packTip: 'Actualmente, los blocklets se pueden instalar directamente como aplicaciones. Los componentes y las configuraciones de la aplicación se incluirán automáticamente en el Blocklet',
690
690
  resourceChangedWarning: 'Ha modificado el recurso, por favor guárdelo a tiempo',
691
- installResourceTip: 'Por favor agrega el componente en una aplicación, URL del componente:',
691
+ installResourceTip: 'URL de instalación:',
692
692
  installResourceTip2: 'Si desea ver más consejos, visite {name}',
693
693
  installResourceHelp: 'Ayuda Documento',
694
694
  componentIncluded: 'Incluido',
695
- componentForceRequired: 'Obligatorio Requerido'
695
+ componentForceRequired: 'Obligatorio Requerido',
696
+ productListTitle: 'Publicar Blocklets',
697
+ download: 'Descargar {name}',
698
+ delete: 'Eliminar {name}',
699
+ copyInstallUrl: 'Copiar URL de instalación',
700
+ install: 'Instalar {name}'
696
701
  },
697
702
  titleValidationError: 'La longitud del título debe ser de al menos 3 caracteres',
698
703
  descriptionValidationError: 'La longitud de la descripción debe estar entre 3 y 160 caracteres'
@@ -796,7 +801,7 @@ var _default = exports.default = {
796
801
  switchLabel: 'Página de bienvenida'
797
802
  },
798
803
  upgrade: {
799
- title: 'Actualizar el servidor Blocklet {version}',
804
+ title: 'Mejorar el servidor de Blocklet',
800
805
  description: 'Durante la actualización, tu servidor de Blocklet entrará en modo de mantenimiento durante unos minutos mientras se completa la actualización.',
801
806
  dialog: 'Haz clic en "confirmar" para instalar la actualización. El servidor Blocklet entrará en modo de mantenimiento hasta que la actualización se complete y volverá automáticamente al modo de producción.',
802
807
  confirm: 'Mejora',
@@ -809,7 +814,7 @@ var _default = exports.default = {
809
814
  verifying: 'Verificando el servidor de Blocklet v{version}',
810
815
  rollback: 'Revertir servidor de Blocklet',
811
816
  complete: '¡Actualización completa!',
812
- progress: 'Actualizando el servidor de Blocklet {version}',
817
+ progress: 'Mejorando {name}',
813
818
  check: 'Buscar actualizaciones',
814
819
  latest: 'Estás ejecutando la última versión.'
815
820
  },
@@ -824,7 +829,7 @@ var _default = exports.default = {
824
829
  cleanup: 'Asegúrate de que todo esté bien',
825
830
  rollback: 'Limpiar el estado sucio',
826
831
  complete: '¡Mantenimiento completo!',
827
- progress: 'Reiniciando el servidor Blocklet'
832
+ progress: 'Reiniciando {name}'
828
833
  },
829
834
  register: {
830
835
  titleAdded: 'Agregado a Blocklet Launcher',