@abtnode/ux 1.16.26-beta-bdd2d7c0 → 1.16.26-beta-4831bf3f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/locales/pt.js CHANGED
@@ -256,7 +256,6 @@ export default {
256
256
  preview: 'Visualização',
257
257
  protected: 'Protegido',
258
258
  protocol: 'Protocolo',
259
- publish: 'Publicar',
260
259
  published: 'Publicado',
261
260
  purchase: 'Compra',
262
261
  readMore: 'Mais',
@@ -353,7 +352,8 @@ export default {
353
352
  connectToStore: 'Conectar à Loja',
354
353
  uploaded: 'Carregado',
355
354
  uploadToStore: 'Enviar para a Loja',
356
- upload: 'Upload'
355
+ upload: 'Upload',
356
+ blockletStudio: 'Blocklet Studio'
357
357
  },
358
358
  blocklet: {
359
359
  external: 'Externo',
@@ -692,14 +692,15 @@ export default {
692
692
  installResourceHelp: 'Documento de ajuda',
693
693
  componentIncluded: 'Incluído',
694
694
  componentForceRequired: 'Forçado Obrigatório',
695
- productListTitle: 'Publicar Blocklets',
695
+ productListTitle: 'Blocklet Studio',
696
696
  download: 'Baixe {name}',
697
697
  delete: 'Excluir {name}',
698
698
  copyInstallUrl: 'Copiar URL de instalação',
699
699
  install: 'Instale {name}',
700
700
  publishToStoreSuccess: 'Blocklet publicado na loja com sucesso',
701
701
  connectStoreSuccess: 'Loja de Blocos conectada com sucesso',
702
- uploadToStoreSuccess: 'Blocklet enviado para a Store com sucesso, você precisa publicá-lo na Store'
702
+ uploadToStoreSuccess: 'Blocklet enviado para a Store com sucesso, você precisa publicá-lo na Store',
703
+ viewLastRelease: 'Visualizar última versão'
703
704
  },
704
705
  titleValidationError: 'O comprimento do título deve ter pelo menos 3 caracteres',
705
706
  descriptionValidationError: 'O comprimento da descrição deve estar entre 3 e 160 caracteres.'
package/es/locales/ru.js CHANGED
@@ -256,7 +256,6 @@ export default {
256
256
  preview: 'Предварительный просмотр',
257
257
  protected: 'Защищено',
258
258
  protocol: 'Протокол',
259
- publish: 'Опубликовать',
260
259
  published: 'Опубликовано',
261
260
  purchase: 'Покупка',
262
261
  readMore: 'Больше',
@@ -353,7 +352,8 @@ export default {
353
352
  connectToStore: 'Подключитесь к магазину',
354
353
  uploaded: 'Загружено',
355
354
  uploadToStore: 'Загрузить в магазин',
356
- upload: 'Загрузить'
355
+ upload: 'Загрузить',
356
+ blockletStudio: 'Студия Блоклет'
357
357
  },
358
358
  blocklet: {
359
359
  external: 'Внешний',
@@ -692,14 +692,15 @@ export default {
692
692
  installResourceHelp: 'Документация помощи',
693
693
  componentIncluded: 'Включено',
694
694
  componentForceRequired: 'Принудительно Требуется',
695
- productListTitle: 'Опубликовать блоклеты',
695
+ productListTitle: 'Blocklet Studio',
696
696
  download: 'Скачать {name}',
697
697
  delete: 'Удалить {name}',
698
698
  copyInstallUrl: 'Скопируйте URL для установки',
699
699
  install: 'Установить {name}',
700
700
  publishToStoreSuccess: 'Блоклет успешно опубликован в магазине',
701
701
  connectStoreSuccess: 'Успешное подключение к Blocklet Store',
702
- uploadToStoreSuccess: 'Блоклет успешно загружен в магазин, вам нужно опубликовать его в магазине'
702
+ uploadToStoreSuccess: 'Блоклет успешно загружен в магазин, вам нужно опубликовать его в магазине',
703
+ viewLastRelease: 'Просмотр последнего релиза'
703
704
  },
704
705
  titleValidationError: 'Длина заголовка должна быть не менее 3 символов',
705
706
  descriptionValidationError: 'Длина описания должна быть от 3 до 160 символов'
package/es/locales/th.js CHANGED
@@ -256,7 +256,6 @@ export default {
256
256
  preview: 'ดูตัวอย่าง',
257
257
  protected: 'ป้องกัน',
258
258
  protocol: 'โปรโตคอล',
259
- publish: 'เผยแพร่',
260
259
  published: 'เผยแพร่',
261
260
  purchase: 'การซื้อ',
262
261
  readMore: 'มากขึ้น',
@@ -353,7 +352,8 @@ export default {
353
352
  connectToStore: 'เชื่อมต่อกับร้านค้า',
354
353
  uploaded: 'อัปโหลดแล้ว',
355
354
  uploadToStore: 'อัปโหลดไปยังร้านค้า',
356
- upload: 'อัปโหลด'
355
+ upload: 'อัปโหลด',
356
+ blockletStudio: 'Blocklet Studio'
357
357
  },
358
358
  blocklet: {
359
359
  external: 'ภายนอก',
@@ -692,14 +692,15 @@ export default {
692
692
  installResourceHelp: 'เอกสารช่วยเหลือ',
693
693
  componentIncluded: 'รวมอยู่ใน',
694
694
  componentForceRequired: 'บังคับต้องการ',
695
- productListTitle: 'เผยแพร่ Blocklets',
695
+ productListTitle: 'Blocklet Studio',
696
696
  download: 'ดาวน์โหลด {name}',
697
697
  delete: 'ลบ {name}',
698
698
  copyInstallUrl: 'คัดลอก URL การติดตั้ง',
699
699
  install: 'ติดตั้ง {name}',
700
700
  publishToStoreSuccess: 'Blocklet ได้เผยแพร่ในร้านค้าเรียบร้อยแล้ว',
701
701
  connectStoreSuccess: 'เชื่อมต่อ Blocklet Store สำเร็จ',
702
- uploadToStoreSuccess: 'อัพโหลด Blocklet เข้าสู่ Store สำเร็จแล้ว คุณต้องเผยแพร่ในร้านค้า'
702
+ uploadToStoreSuccess: 'อัพโหลด Blocklet เข้าสู่ Store สำเร็จแล้ว คุณต้องเผยแพร่ในร้านค้า',
703
+ viewLastRelease: 'ดูรายการอัพเดตล่าสุด'
703
704
  },
704
705
  titleValidationError: 'ความยาวของชื่อต้องมีอย่างน้อย 3 ตัวอักษร',
705
706
  descriptionValidationError: 'ความยาวคำอธิบายต้องอยู่ระหว่าง 3 ถึง 160 ตัวอักษร.'
package/es/locales/vi.js CHANGED
@@ -256,7 +256,6 @@ export default {
256
256
  preview: 'Xem trước',
257
257
  protected: 'Bảo vệ',
258
258
  protocol: 'Giao thức',
259
- publish: 'Xuất bản',
260
259
  published: 'Công bố',
261
260
  purchase: 'Mua hàng',
262
261
  readMore: 'Nhiều hơn',
@@ -353,7 +352,8 @@ export default {
353
352
  connectToStore: 'Kết nối tới Cửa hàng',
354
353
  uploaded: 'Đã tải lên',
355
354
  uploadToStore: 'Tải lên Cửa hàng',
356
- upload: 'Tải lên'
355
+ upload: 'Tải lên',
356
+ blockletStudio: 'Blocklet Studio'
357
357
  },
358
358
  blocklet: {
359
359
  external: 'Bên ngoài',
@@ -692,14 +692,15 @@ export default {
692
692
  installResourceHelp: 'Tài liệu giúp đỡ',
693
693
  componentIncluded: 'Bao gồm',
694
694
  componentForceRequired: 'Bắt Buộc Yêu Cầu',
695
- productListTitle: 'Xuất bản Blocklets',
695
+ productListTitle: 'Blocklet Studio',
696
696
  download: 'Tải về {name}',
697
697
  delete: 'Xóa {name}',
698
698
  copyInstallUrl: 'Sao chép URL cài đặt',
699
699
  install: 'Cài đặt {name}',
700
700
  publishToStoreSuccess: 'Blocklet đã được xuất bản vào cửa hàng thành công',
701
701
  connectStoreSuccess: 'Kết nối Blocklet Store thành công',
702
- uploadToStoreSuccess: 'Blocklet đã tải lên Store thành công, bạn cần phải xuất bản nó trong Store'
702
+ uploadToStoreSuccess: 'Blocklet đã tải lên Store thành công, bạn cần phải xuất bản nó trong Store',
703
+ viewLastRelease: 'Xem phiên bản phát hành gần đây nhất'
703
704
  },
704
705
  titleValidationError: 'Độ dài tiêu đề phải ít nhất 3 ký tự',
705
706
  descriptionValidationError: 'Chiều dài mô tả phải từ 3 đến 160 ký tự.'
@@ -256,7 +256,6 @@ export default {
256
256
  preview: '預覽',
257
257
  protected: '受保護',
258
258
  protocol: '協議',
259
- publish: '發布',
260
259
  published: '已發布',
261
260
  purchase: '購買',
262
261
  readMore: '更多',
@@ -353,7 +352,8 @@ export default {
353
352
  connectToStore: '連接至商店',
354
353
  uploaded: '已上傳',
355
354
  uploadToStore: '上傳至 Store',
356
- upload: '上傳'
355
+ upload: '上傳',
356
+ blockletStudio: 'Blocklet Studio'
357
357
  },
358
358
  blocklet: {
359
359
  external: '外部的',
@@ -692,14 +692,15 @@ export default {
692
692
  installResourceHelp: '幫助文件',
693
693
  componentIncluded: '已包含',
694
694
  componentForceRequired: '強制要求',
695
- productListTitle: '發布 Blocklets',
695
+ productListTitle: 'Blocklet Studio',
696
696
  download: '下載 {name}',
697
697
  delete: '刪除 {name}',
698
698
  copyInstallUrl: '複製安裝連結',
699
699
  install: '安裝{name}',
700
700
  publishToStoreSuccess: '成功發佈到 Store 的區塊鏈',
701
701
  connectStoreSuccess: 'Store 連線成功',
702
- uploadToStoreSuccess: 'Blocklet 成功上傳至 Store,請在 Store 中發布'
702
+ uploadToStoreSuccess: 'Blocklet 成功上傳至 Store,請在 Store 中發布',
703
+ viewLastRelease: '查看最新版本'
703
704
  },
704
705
  titleValidationError: '標題長度必須至少為3到40個字符',
705
706
  descriptionValidationError: '描述長度必須介於3到160個字符之間'
package/es/locales/zh.js CHANGED
@@ -256,7 +256,6 @@ export default {
256
256
  preview: '预览',
257
257
  protected: '受保护',
258
258
  protocol: '协议',
259
- publish: '发布',
260
259
  published: '已发布',
261
260
  purchase: '购买',
262
261
  readMore: '更多',
@@ -353,7 +352,8 @@ export default {
353
352
  connectToStore: '连接 Store',
354
353
  uploaded: '已上传',
355
354
  uploadToStore: '上传到 Store',
356
- upload: '上传'
355
+ upload: '上传',
356
+ blockletStudio: 'Blocklet Studio'
357
357
  },
358
358
  blocklet: {
359
359
  external: '外部',
@@ -695,14 +695,15 @@ export default {
695
695
  noDescription: '请填写 Blocklet 描述',
696
696
  noNote: '请填写 发布说明'
697
697
  },
698
- productListTitle: '发布 Blocklets',
698
+ productListTitle: 'Blocklet Studio',
699
699
  download: '下载 {name}',
700
700
  delete: '删除 {name}',
701
701
  copyInstallUrl: '复制安装链接',
702
702
  install: '安装 {name}',
703
703
  publishToStoreSuccess: '成功发布 Blocklet 到 Store',
704
704
  connectStoreSuccess: 'Blocklet 成功连接 Store',
705
- uploadToStoreSuccess: 'Blocklet 成功上传至 Store,请在 Store 中发布'
705
+ uploadToStoreSuccess: 'Blocklet 成功上传至 Store,请在 Store 中发布',
706
+ viewLastRelease: '查看最新版本'
706
707
  },
707
708
  titleValidationError: '标题长度必须至少为3到40个字符',
708
709
  descriptionValidationError: '描述长度必须在3到160个字符之间'
@@ -18,6 +18,7 @@ var _Breadcrumbs = _interopRequireDefault(require("@mui/material/Breadcrumbs"));
18
18
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
19
19
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
20
20
  var _DeleteOutline = _interopRequireDefault(require("@mui/icons-material/DeleteOutline"));
21
+ var _CloudUploadRounded = _interopRequireDefault(require("@mui/icons-material/CloudUploadRounded"));
21
22
  var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
22
23
  var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
23
24
  var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
@@ -522,7 +523,7 @@ function CreateRelease(_ref2) {
522
523
  "aria-label": "breadcrumb",
523
524
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
524
525
  to: "../",
525
- children: t('common.publish')
526
+ children: t('common.blockletStudio')
526
527
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
527
528
  to: "../".concat(projectId),
528
529
  children: (params === null || params === void 0 ? void 0 : params.blockletTitle) || 'Blocklet'
@@ -571,10 +572,15 @@ function CreateRelease(_ref2) {
571
572
  href: (0, _urlJoin.default)("".concat(_constant2.WELLKNOWN_SERVICE_PATH_PREFIX, "/api/project/").concat(blocklet.meta.did, "/").concat(projectId, "/").concat(releaseId, "/download/").concat((release.files || [])[0])),
572
573
  children: t('common.download')
573
574
  })
574
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
575
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
575
576
  variant: "contained",
576
577
  onClick: () => setShowStoreDialog(true),
577
- children: t('common.uploadToStore')
578
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CloudUploadRounded.default, {
579
+ style: {
580
+ fontSize: '1.3em',
581
+ marginRight: 4
582
+ }
583
+ }), t('common.uploadToStore')]
578
584
  })]
579
585
  })]
580
586
  })]
@@ -7,15 +7,14 @@ 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"));
11
10
  var _context = require("@arcblock/ux/lib/Locale/context");
12
11
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
13
12
  var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
14
13
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
15
- var _LibraryAdd = _interopRequireDefault(require("@mui/icons-material/LibraryAdd"));
16
14
  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"));
15
+ var _FileOpen = _interopRequireDefault(require("@mui/icons-material/FileOpen"));
16
+ var _AddBox = _interopRequireDefault(require("@mui/icons-material/AddBox"));
17
+ var _HelpOutlineOutlined = _interopRequireDefault(require("@mui/icons-material/HelpOutlineOutlined"));
19
18
  var _constant = require("@abtnode/constant");
20
19
  var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
21
20
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
@@ -30,13 +29,12 @@ var _didAddress = _interopRequireDefault(require("../../did-address"));
30
29
  var _confirm = _interopRequireDefault(require("../../confirm"));
31
30
  var _bundleAvatar = _interopRequireDefault(require("../bundle-avatar"));
32
31
  var _jsxRuntime = require("react/jsx-runtime");
33
- var _window$env, _templateObject;
32
+ var _templateObject;
34
33
  /* eslint-disable react/no-unstable-nested-components */
35
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
35
  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); }
37
36
  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; }
38
37
  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;
40
38
  function ProjectList() {
41
39
  const navigate = (0, _reactRouterDom.useNavigate)();
42
40
  const {
@@ -222,16 +220,6 @@ function ProjectList() {
222
220
  options: {
223
221
  customBodyRenderLite: rawIndex => {
224
222
  const project = projects[rawIndex];
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
223
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
236
224
  display: "flex",
237
225
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
@@ -242,49 +230,27 @@ function ProjectList() {
242
230
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
243
231
  color: "primary",
244
232
  "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: {
233
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AddBox.default, {
234
+ style: {
269
235
  fontSize: 18
270
236
  }
271
237
  })
272
238
  })
273
239
  })
274
240
  }), !!project.lastReleaseId && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
275
- title: t('blocklet.publish.download', {
241
+ title: t('blocklet.publish.viewLastRelease', {
276
242
  name: project.blockletTitle
277
243
  }),
278
244
  placement: "top",
279
245
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
280
- color: "primary",
246
+ color: "secondary",
281
247
  "aria-label": "create",
282
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
248
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
283
249
  style: {
284
250
  display: 'flex'
285
251
  },
286
- href: downloadUrl,
287
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {
252
+ to: "".concat(project.id, "/").concat(project.lastReleaseId),
253
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FileOpen.default, {
288
254
  sx: {
289
255
  fontSize: 18
290
256
  }
@@ -316,12 +282,28 @@ function ProjectList() {
316
282
  display: "flex",
317
283
  justifyContent: "space-between",
318
284
  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')
285
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
286
+ display: "flex",
287
+ flexDirection: "row",
288
+ alignItems: "center",
289
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
290
+ sx: {
291
+ fontSize: '1.2rem',
292
+ fontWeight: 'bold'
293
+ },
294
+ children: t('blocklet.publish.productListTitle')
295
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
296
+ title: t('blocklet.publish.createBlockletTip'),
297
+ arrow: true,
298
+ placement: "right",
299
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HelpOutlineOutlined.default, {
300
+ sx: {
301
+ opacity: 0.6,
302
+ fontSize: '1.1em',
303
+ ml: 1
304
+ }
305
+ })
306
+ })]
325
307
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
326
308
  onClick: handleNewBlocklet,
327
309
  variant: "contained",
@@ -13,6 +13,7 @@ var _context = require("@arcblock/ux/lib/Locale/context");
13
13
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
14
14
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
15
15
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
16
+ var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
16
17
  var _Breadcrumbs = _interopRequireDefault(require("@mui/material/Breadcrumbs"));
17
18
  var _Download = _interopRequireDefault(require("@mui/icons-material/Download"));
18
19
  var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
@@ -24,6 +25,7 @@ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
24
25
  var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
25
26
  var _RelativeTime = _interopRequireDefault(require("@arcblock/ux/lib/RelativeTime"));
26
27
  var _constant2 = require("@blocklet/constant");
28
+ var _InstallDesktop = _interopRequireDefault(require("@mui/icons-material/InstallDesktop"));
27
29
  var _blocklet = require("../../contexts/blocklet");
28
30
  var _node = require("../../contexts/node");
29
31
  var _emptySpinner = _interopRequireDefault(require("../../empty-spinner"));
@@ -36,6 +38,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
36
38
  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; }
37
39
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
38
40
  function ReleaseList() {
41
+ var _window$env;
39
42
  const {
40
43
  t,
41
44
  locale
@@ -53,6 +56,7 @@ function ReleaseList() {
53
56
  const [releases, setReleases] = (0, _react.useState)(null);
54
57
  const [project, setProject] = (0, _react.useState)(null);
55
58
  const [deleteConfirm, setDeleteConfirm] = (0, _react.useState)(null);
59
+ const serverEndpoint = (_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.serverEndpoint;
56
60
  const getReleases = () => {
57
61
  api.getReleases({
58
62
  input: {
@@ -136,7 +140,7 @@ function ReleaseList() {
136
140
  "aria-label": "breadcrumb",
137
141
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
138
142
  to: "..",
139
- children: t('common.publish')
143
+ children: t('common.blockletStudio')
140
144
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
141
145
  color: "text.primary",
142
146
  children: project.blockletTitle
@@ -229,36 +233,77 @@ function ReleaseList() {
229
233
  options: {
230
234
  customBodyRenderLite: rawIndex => {
231
235
  const release = releases[rawIndex];
236
+ let installUrl = '';
237
+ let downloadUrl = '';
238
+ const published = release.status === 'published';
239
+ if (published) {
240
+ const blockletMetaUrl = (0, _urlJoin.default)(serverEndpoint, "/api/project/".concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/release/blocklet.json"));
241
+ const url = new URL(serverEndpoint);
242
+ url.pathname = (0, _urlJoin.default)(url.pathname, '/launch-blocklet/agreement');
243
+ url.searchParams.set('blocklet_meta_url', blockletMetaUrl);
244
+ installUrl = url.href;
245
+ 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]));
246
+ }
247
+ console.error('--debug--', release);
232
248
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
233
249
  display: "flex",
234
250
  alignItems: "center",
235
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
236
- color: "primary",
237
- "aria-label": "download",
238
- disabled: release.status !== 'published',
239
- children: release.status === 'published' ? /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
240
- style: {
241
- display: 'flex'
242
- },
243
- href: (0, _urlJoin.default)("".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, "/api/project/").concat(blocklet.meta.did, "/").concat(project.id, "/").concat(release.id, "/download/").concat((release.files || [])[0])),
244
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {
251
+ children: [published && project.type === 'pack' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
252
+ title: t('blocklet.publish.install', {
253
+ name: project.blockletTitle
254
+ }),
255
+ placement: "top",
256
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
257
+ color: "secondary",
258
+ "aria-label": "create",
259
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
260
+ style: {
261
+ display: 'flex'
262
+ },
263
+ href: installUrl,
264
+ target: "_blank",
265
+ rel: "noreferrer",
266
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InstallDesktop.default, {
267
+ sx: {
268
+ fontSize: 18
269
+ }
270
+ })
271
+ })
272
+ })
273
+ }), published && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
274
+ title: t('blocklet.publish.download', {
275
+ name: project.blockletTitle
276
+ }),
277
+ placement: "top",
278
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
279
+ color: "primary",
280
+ "aria-label": "download",
281
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
282
+ style: {
283
+ display: 'flex'
284
+ },
285
+ href: downloadUrl,
286
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {
287
+ sx: {
288
+ fontSize: 18
289
+ }
290
+ })
291
+ })
292
+ })
293
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
294
+ title: t('blocklet.publish.delete', {
295
+ name: project.blockletTitle
296
+ }),
297
+ placement: "top",
298
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
299
+ color: "primary",
300
+ "aria-label": "delete",
301
+ onClick: () => onDeleteRelease(release),
302
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
245
303
  sx: {
246
304
  fontSize: 18
247
305
  }
248
306
  })
249
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {
250
- sx: {
251
- fontSize: 18
252
- }
253
- })
254
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
255
- color: "primary",
256
- "aria-label": "delete",
257
- onClick: () => onDeleteRelease(release),
258
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
259
- sx: {
260
- fontSize: 18
261
- }
262
307
  })
263
308
  })]
264
309
  });
package/lib/locales/ar.js CHANGED
@@ -262,7 +262,6 @@ var _default = exports.default = {
262
262
  preview: 'معاينة',
263
263
  protected: 'محمي',
264
264
  protocol: 'بروتوكول',
265
- publish: 'نشر',
266
265
  published: 'نشرت',
267
266
  purchase: 'شراء',
268
267
  readMore: 'أكثر',
@@ -359,7 +358,8 @@ var _default = exports.default = {
359
358
  connectToStore: 'الاتصال بالمتجر',
360
359
  uploaded: 'تم التحميل',
361
360
  uploadToStore: 'تحميل إلى المتجر',
362
- upload: 'تحميل'
361
+ upload: 'تحميل',
362
+ blockletStudio: 'استوديو بلوكليت'
363
363
  },
364
364
  blocklet: {
365
365
  external: 'خارجي',
@@ -698,14 +698,15 @@ var _default = exports.default = {
698
698
  installResourceHelp: 'وثيقة المساعدة',
699
699
  componentIncluded: 'مدرج',
700
700
  componentForceRequired: 'مجبر مطلوب',
701
- productListTitle: 'نشر بلوكلتس',
701
+ productListTitle: 'استوديو بلوكليت',
702
702
  download: 'تحميل {name}',
703
703
  delete: 'احذف {name}',
704
704
  copyInstallUrl: 'انسخ عنوان URL للتثبيت',
705
705
  install: 'تثبيت {name}',
706
706
  publishToStoreSuccess: 'تم نشر بلوكليت بنجاح في المتجر',
707
707
  connectStoreSuccess: 'تم الاتصال بمتجر البلوكليت بنجاح',
708
- uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر'
708
+ uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر',
709
+ viewLastRelease: 'عرض آخر إصدار'
709
710
  },
710
711
  titleValidationError: 'يجب أن يكون طول العنوان على الأقل 3 أحرف',
711
712
  descriptionValidationError: 'يجب أن تكون طول الوصف بين 3 و 160 حرفًا'
package/lib/locales/de.js CHANGED
@@ -262,7 +262,6 @@ var _default = exports.default = {
262
262
  preview: 'Vorschau',
263
263
  protected: 'Geschützt',
264
264
  protocol: 'Protokoll',
265
- publish: 'Veröffentlichen',
266
265
  published: 'Veröffentlicht',
267
266
  purchase: 'Kauf',
268
267
  readMore: 'Mehr',
@@ -359,7 +358,8 @@ var _default = exports.default = {
359
358
  connectToStore: 'Verbinden Sie mit dem Geschäft',
360
359
  uploaded: 'Hochgeladen',
361
360
  uploadToStore: 'Upload in den Shop',
362
- upload: 'Hochladen'
361
+ upload: 'Hochladen',
362
+ blockletStudio: 'Blocklet Studio'
363
363
  },
364
364
  blocklet: {
365
365
  external: 'Extern',
@@ -698,14 +698,15 @@ var _default = exports.default = {
698
698
  installResourceHelp: 'Hilfe-Dokument',
699
699
  componentIncluded: 'Eingeschlossen',
700
700
  componentForceRequired: 'Erzwungen Erforderlich',
701
- productListTitle: 'Veröffentliche Blocklets',
701
+ productListTitle: 'Blocklet Studio',
702
702
  download: 'Download {name}',
703
703
  delete: 'Lösche {name}',
704
704
  copyInstallUrl: 'Kopiere Installations-URL',
705
705
  install: 'Installiere {name}',
706
706
  publishToStoreSuccess: 'Blocklet erfolgreich im Store veröffentlicht',
707
707
  connectStoreSuccess: 'Blocklet Store erfolgreich verbunden',
708
- uploadToStoreSuccess: 'Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen'
708
+ uploadToStoreSuccess: 'Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen',
709
+ viewLastRelease: 'Letzte Version anzeigen'
709
710
  },
710
711
  titleValidationError: 'Die Länge des Titels muss mindestens 3 Zeichen betragen',
711
712
  descriptionValidationError: 'Die Beschreibungslänge muss zwischen 3 und 160 Zeichen liegen'
package/lib/locales/en.js CHANGED
@@ -173,7 +173,7 @@ var _default = exports.default = {
173
173
  download: 'Download',
174
174
  uploadToStore: 'Upload to Store',
175
175
  connectToStore: 'Connect to Store',
176
- publish: 'Publish',
176
+ blockletStudio: 'Blocklet Studio',
177
177
  upload: 'Upload',
178
178
  uploaded: 'Uploaded',
179
179
  downloading: 'Downloading',
@@ -651,7 +651,7 @@ var _default = exports.default = {
651
651
  isInProgress: 'Blocklet is in progress, please wait for it to finish'
652
652
  },
653
653
  publish: {
654
- productListTitle: 'Publish Blocklets',
654
+ productListTitle: 'Blocklet Studio',
655
655
  download: 'Download {name}',
656
656
  delete: 'Delete {name}',
657
657
  copyInstallUrl: 'Copy Install URL',
@@ -667,6 +667,7 @@ var _default = exports.default = {
667
667
  deleteBlockletTip: 'The blocklet cannot be recovered after deletion, please confirm',
668
668
  componentNotRunning: 'Component {name} is not running, please start it first',
669
669
  releaseEmptyTip: 'There aren’t any releases here',
670
+ viewLastRelease: 'View last release',
670
671
  createReleaseTip: 'You can create a release of the blocklet, along with release notes and resources, for other people to use',
671
672
  createRelease: 'New release',
672
673
  deleteReleaseTip: 'The release cannot be recovered after deletion',