@abtnode/ux 1.16.28-beta-bfbab430 → 1.16.28-beta-641c9f13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/analytics/traffic.js +4 -10
- package/lib/blocklet/authentication/federated/federated-detail-dialog.js +2 -2
- package/lib/blocklet/blocklet-source.js +2 -2
- package/lib/blocklet/component/add-component/add-component-core.js +2 -2
- package/lib/blocklet/component/did-space/connect-to.js +4 -4
- package/lib/blocklet/component/navigation/navigation-dialog.js +2 -3
- package/lib/blocklet/component/space-connector.js +3 -3
- package/lib/blocklet/component/space-selector.js +2 -2
- package/lib/blocklet/component/store-blocklet-list.js +3 -3
- package/lib/blocklet/logo-uploader.js +2 -2
- package/lib/blocklet/notification/push-kit.js +1 -1
- package/lib/blocklet/preferences/index.js +3 -3
- package/lib/blocklet/publish/create-release/header.js +2 -1
- package/lib/blocklet/publish/create-release/keep-now-resources.js +15 -0
- package/lib/blocklet/publish/create-release/resources.js +4 -3
- package/lib/blocklet/publish/release-list.js +4 -4
- package/lib/blocklet/publish/utils/upload-image-to-project.js +2 -2
- package/lib/blocklet/purchase/component-purchase.js +2 -2
- package/lib/blocklet/storage/connect-to.js +4 -4
- package/lib/blocklet/storage/item.js +3 -3
- package/lib/blocklet/util.js +4 -4
- package/lib/hooks/url-evaluation.js +2 -2
- package/lib/hooks/use-app-logo.js +4 -4
- package/lib/hooks/use-bundle-logo.js +4 -4
- package/lib/invitation/invitation-receive.js +1 -1
- package/lib/locales/ar.js +5 -2
- package/lib/locales/de.js +5 -2
- package/lib/locales/en.js +5 -1
- package/lib/locales/es.js +5 -2
- package/lib/locales/fr.js +5 -2
- package/lib/locales/hi.js +5 -2
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +5 -2
- package/lib/locales/ja.js +5 -2
- package/lib/locales/ko.js +5 -2
- package/lib/locales/pt.js +5 -2
- package/lib/locales/ru.js +5 -2
- package/lib/locales/th.js +5 -2
- package/lib/locales/vi.js +5 -2
- package/lib/locales/zh-tw.js +6 -3
- package/lib/locales/zh.js +10 -3
- package/lib/store/connect-actions.js +2 -2
- package/lib/store/item.js +2 -2
- package/lib/team/members/util.js +3 -3
- package/lib/util/index.js +18 -18
- package/lib/util/join-url-keep-search.js +2 -2
- package/lib/util/spaces.js +4 -2
- package/package.json +19 -20
package/lib/locales/es.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'Receptor PushKit',
|
|
980
980
|
testSend: 'Probar enviar push-kit',
|
|
981
981
|
inputTestReceiver: 'Introduzca el receptor de prueba did',
|
|
982
|
-
receiverRequired: 'Se requiere receptor PushKit'
|
|
982
|
+
receiverRequired: 'Se requiere receptor PushKit',
|
|
983
|
+
pushPath: 'Ruta de API para push-kit (predeterminado /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'Opciones personalizadas'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'La aplicación se instaló correctamente, pero no se puede iniciar. Puede iniciarlo manualmente después de resolver los problemas de bloqueo',
|
|
1502
1505
|
installedButError: 'La aplicación se instaló correctamente, pero no se pudo iniciar',
|
|
1503
1506
|
restoreFailed: 'Error al restaurar la aplicación, por favor intente nuevamente',
|
|
1504
|
-
resourceBlocklet: 'El
|
|
1507
|
+
resourceBlocklet: 'El Blocklet no se puede instalar como una aplicación, puedes añadir este Blocklet a aplicaciones existentes.'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'Introducción',
|
package/lib/locales/fr.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'Récepteur PushKit',
|
|
980
980
|
testSend: "Tester l'envoi du kit push",
|
|
981
981
|
inputTestReceiver: 'Veuillez saisir le destinataire du test',
|
|
982
|
-
receiverRequired: 'Récepteur PushKit requis'
|
|
982
|
+
receiverRequired: 'Récepteur PushKit requis',
|
|
983
|
+
pushPath: 'Chemin API pour push-kit (par défaut /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'Options personnalisées'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: "L'application a été installée avec succès, mais ne peut pas être démarrée. Vous pouvez la démarrer manuellement après avoir résolu les problèmes de blocage.",
|
|
1502
1505
|
installedButError: "L'application est installée avec succès, mais n'a pas réussi à démarrer",
|
|
1503
1506
|
restoreFailed: "Échec de la restauration de l'application, veuillez réessayer",
|
|
1504
|
-
resourceBlocklet: "Le
|
|
1507
|
+
resourceBlocklet: "Le bloc ne peut pas être installé en tant qu'application, vous pouvez ajouter ce bloc à des applications existantes."
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'Introduction',
|
package/lib/locales/hi.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'पुष्कीत रिसीवर',
|
|
980
980
|
testSend: 'टेस्ट पुश-किट भेजें',
|
|
981
981
|
inputTestReceiver: 'कृपया परीक्षण रिसीवर इनपुट करें',
|
|
982
|
-
receiverRequired: 'पुशकिट रिसीवर ज़रूरी हैं'
|
|
982
|
+
receiverRequired: 'पुशकिट रिसीवर ज़रूरी हैं',
|
|
983
|
+
pushPath: 'पुश-किट के लिए एपीआई पथ (डिफ़ॉल्ट /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'कस्टम विकल्प'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'ऐप सफलतापूर्वक स्थापित हो गया है, लेकिन यह शुरू नहीं किया जा सकता है। आप इसे अवरोधक मुद्दों को हल करने के बाद मैन्युअल रूप से शुरू कर सकते हैं।',
|
|
1502
1505
|
installedButError: 'ऐप सफलतापूर्वक स्थापित किया गया है, लेकिन शुरू करने में विफल हो गया',
|
|
1503
1506
|
restoreFailed: 'ऐप को पुनर्स्थापित करने में विफल, कृपया पुनः प्रयास करें',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'ब्लॉकलेट को एक एप्लिकेशन के रूप में स्थापित नहीं किया जा सकता है, आप इस ब्लॉकलेट को मौजूदा एप्लिकेशन में जोड़ सकते हैं।'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'परिचय',
|
package/lib/locales/i18n.db
CHANGED
|
Binary file
|
package/lib/locales/id.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'Penerima PushKit',
|
|
980
980
|
testSend: 'Uji coba kiriman push-kit',
|
|
981
981
|
inputTestReceiver: 'Masukkan penerima uji',
|
|
982
|
-
receiverRequired: 'Diperlukan penerima PushKit'
|
|
982
|
+
receiverRequired: 'Diperlukan penerima PushKit',
|
|
983
|
+
pushPath: 'Jalur api untuk push-kit (default /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'Opsi Kustom'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'Aplikasi berhasil diinstal, tetapi tidak dapat dijalankan. Anda dapat menjalankannya secara manual setelah memecahkan masalah pemblokiran',
|
|
1502
1505
|
installedButError: 'Aplikasi berhasil diinstal, tetapi gagal untuk memulai',
|
|
1503
1506
|
restoreFailed: 'Gagal mengembalikan aplikasi, silakan coba lagi',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'Blocklet tidak dapat diinstal sebagai aplikasi, Anda dapat menambahkan blocklet ini ke aplikasi yang sudah ada.'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'Pengenalan',
|
package/lib/locales/ja.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'PushKit レシーバー',
|
|
980
980
|
testSend: 'プッシュキットの送信をテストする',
|
|
981
981
|
inputTestReceiver: 'テストレシーバーdidを入力してください',
|
|
982
|
-
receiverRequired: 'PushKit レシーバーが必要です'
|
|
982
|
+
receiverRequired: 'PushKit レシーバーが必要です',
|
|
983
|
+
pushPath: 'プッシュキットの API パス(デフォルト /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'カスタムオプション'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'アプリは正常にインストールされましたが、起動できません。ブロッキングの問題を解決した後、手動で起動できます',
|
|
1502
1505
|
installedButError: 'アプリが正常にインストールされましたが、起動できませんでした',
|
|
1503
1506
|
restoreFailed: 'アプリの復元に失敗しました。もう一度お試しください',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'Blocklet はアプリケーションとしてインストールできません、このBlocklet を既存のアプリケーションに追加することができます。'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: '紹介',
|
package/lib/locales/ko.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: '푸시킷 수신기',
|
|
980
980
|
testSend: '푸시 키트 보내기 테스트',
|
|
981
981
|
inputTestReceiver: '테스트 수신자 입력 did',
|
|
982
|
-
receiverRequired: 'PushKit 수신기가 필요함'
|
|
982
|
+
receiverRequired: 'PushKit 수신기가 필요함',
|
|
983
|
+
pushPath: '푸시-킷의 API 경로 (기본 /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: '사용자 정의 옵션'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: '앱은 성공적으로 설치되었지만 시작할 수 없습니다. 차단 문제를 해결한 후에 수동으로 시작할 수 있습니다',
|
|
1502
1505
|
installedButError: '앱이 성공적으로 설치되었지만 시작하지 못했습니다',
|
|
1503
1506
|
restoreFailed: '앱 복원 실패. 다시 시도해주세요',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'Blocklet을 앱으로 설치할 수 없습니다. 대신,이 블록을 기존 애플리케이션에 추가할 수 있습니다.'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: '소개',
|
package/lib/locales/pt.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'Receptor PushKit',
|
|
980
980
|
testSend: 'Teste o envio do push-kit',
|
|
981
981
|
inputTestReceiver: 'Digite o receptor de teste',
|
|
982
|
-
receiverRequired: 'É necessário o receptor PushKit'
|
|
982
|
+
receiverRequired: 'É necessário o receptor PushKit',
|
|
983
|
+
pushPath: 'Caminho da api para push-kit (padrão /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'Opções Personalizadas'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'O aplicativo foi instalado com sucesso, mas não pode ser iniciado. Você pode iniciá-lo manualmente após resolver problemas de bloqueio',
|
|
1502
1505
|
installedButError: 'O aplicativo foi instalado com sucesso, mas falhou ao iniciar',
|
|
1503
1506
|
restoreFailed: 'Falha ao restaurar o aplicativo, por favor, tente novamente',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'Blocklet não pode ser instalado como um aplicativo, você pode adicionar esta blocklet em aplicativos existentes.'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'Introdução',
|
package/lib/locales/ru.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'Приемник PushKit',
|
|
980
980
|
testSend: 'Проверка отправки push-комплекта',
|
|
981
981
|
inputTestReceiver: 'Пожалуйста, введите тестовый приемник',
|
|
982
|
-
receiverRequired: 'Требуется приемник PushKit'
|
|
982
|
+
receiverRequired: 'Требуется приемник PushKit',
|
|
983
|
+
pushPath: 'Путь Api для push-kit (по умолчанию /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'Пользовательские настройки'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'Приложение успешно установлено, но не может быть запущено. Вы можете запустить его вручную после устранения блокирующих проблем.',
|
|
1502
1505
|
installedButError: 'Приложение успешно установлено, но не удалось запустить',
|
|
1503
1506
|
restoreFailed: 'Не удалось восстановить приложение, пожалуйста, попробуйте снова',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'Блоклет нельзя установить как приложение, вы можете добавить этот блоклет в существующие приложения.'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'Введение',
|
package/lib/locales/th.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'ตัวรับ PushKit',
|
|
980
980
|
testSend: 'ทดสอบการส่ง push-kit',
|
|
981
981
|
inputTestReceiver: 'โปรดป้อนเครื่องรับทดสอบ',
|
|
982
|
-
receiverRequired: 'จำเป็นต้องใช้ตัวรับ PushKit'
|
|
982
|
+
receiverRequired: 'จำเป็นต้องใช้ตัวรับ PushKit',
|
|
983
|
+
pushPath: 'เส้นทาง api สำหรับ push-kit (ค่าเริ่มต้น /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'ตัวเลือกที่กำหนดเอง'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'แอปติดตั้งสำเร็จ แต่ไม่สามารถเริ่มต้นใช้งานได้ คุณสามารถเริ่มใช้งานด้วยตนเองหลังจากแก้ไขปัญหาการบล็อก',
|
|
1502
1505
|
installedButError: 'แอปพลิเคชันถูกติดตั้งเรียบร้อยแล้ว แต่ไม่สามารถเริ่มต้นใช้งานได้',
|
|
1503
1506
|
restoreFailed: 'การเรียกคืนแอปล้มเหลว โปรดลองอีกครั้ง',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'Blocklet ไม่สามารถติดตั้งเป็นแอพพลิเคชั่นได้ คุณสามารถเพิ่มบล็อกเลทนี้ในแอพพลิเคชั่นที่มีอยู่'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'แนะนำ',
|
package/lib/locales/vi.js
CHANGED
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'Máy thu PushKit',
|
|
980
980
|
testSend: 'Thử nghiệm đẩy push-kit',
|
|
981
981
|
inputTestReceiver: 'Vui lòng nhập máy thu thử nghiệm',
|
|
982
|
-
receiverRequired: 'Cần có bộ thu PushKit'
|
|
982
|
+
receiverRequired: 'Cần có bộ thu PushKit',
|
|
983
|
+
pushPath: 'Đường dẫn api cho push-kit (mặc định /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: 'Tùy Chọn Tùy Chỉnh'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: 'Ứng dụng được cài đặt thành công, nhưng không thể khởi động. Bạn có thể khởi động nó thủ công sau khi giải quyết các vấn đề chặn',
|
|
1502
1505
|
installedButError: 'Ứng dụng đã được cài đặt thành công, nhưng không khởi động được',
|
|
1503
1506
|
restoreFailed: 'Không thể khôi phục ứng dụng, vui lòng thử lại',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: 'Blocklet không thể được cài đặt như một ứng dụng, bạn có thể thêm blocklet này vào các ứng dụng hiện có.'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: 'Giới thiệu',
|
package/lib/locales/zh-tw.js
CHANGED
|
@@ -353,7 +353,7 @@ export default {
|
|
|
353
353
|
uploaded: '已上傳',
|
|
354
354
|
uploadToStore: '上傳至 Store',
|
|
355
355
|
upload: '上傳',
|
|
356
|
-
blockletStudio: '
|
|
356
|
+
blockletStudio: 'Studio',
|
|
357
357
|
visitStore: '訪問 Store',
|
|
358
358
|
reconnect: '重新連接'
|
|
359
359
|
},
|
|
@@ -979,7 +979,10 @@ export default {
|
|
|
979
979
|
testReceiver: 'PushKit 接收者',
|
|
980
980
|
testSend: '測試推播套件發送',
|
|
981
981
|
inputTestReceiver: '請輸入測試接收者 DID',
|
|
982
|
-
receiverRequired: '需要 PushKit 接收者 DID'
|
|
982
|
+
receiverRequired: '需要 PushKit 接收者 DID',
|
|
983
|
+
pushPath: 'PushKit 的 API 路徑(預設 /api/push)',
|
|
984
|
+
did: 'PushKit Blocklet DID',
|
|
985
|
+
customOptions: '自訂選項'
|
|
983
986
|
}
|
|
984
987
|
},
|
|
985
988
|
router: {
|
|
@@ -1501,7 +1504,7 @@ export default {
|
|
|
1501
1504
|
installedButStopped: '應用程式安裝成功,但無法啟動。在解決阻塞問題後,您可以手動啟動它',
|
|
1502
1505
|
installedButError: '應用程式安裝成功,但無法啟動',
|
|
1503
1506
|
restoreFailed: '應用程式恢復失敗,請重試',
|
|
1504
|
-
resourceBlocklet: '
|
|
1507
|
+
resourceBlocklet: '無法將Blocklet安裝為應用程式,您可以將這個Blocklet添加到現有應用程式中。'
|
|
1505
1508
|
},
|
|
1506
1509
|
steps: {
|
|
1507
1510
|
introduction: '介紹',
|
package/lib/locales/zh.js
CHANGED
|
@@ -353,7 +353,7 @@ export default {
|
|
|
353
353
|
uploaded: '已上传',
|
|
354
354
|
uploadToStore: '上传到 Store',
|
|
355
355
|
upload: '上传',
|
|
356
|
-
blockletStudio: '
|
|
356
|
+
blockletStudio: 'Studio',
|
|
357
357
|
visitStore: '访问 Store',
|
|
358
358
|
reconnect: '重新连接'
|
|
359
359
|
},
|
|
@@ -874,6 +874,10 @@ export default {
|
|
|
874
874
|
welcome: {
|
|
875
875
|
switchLabel: 'Welcome 页面'
|
|
876
876
|
},
|
|
877
|
+
security: {
|
|
878
|
+
switchLabel: '文件系统隔离',
|
|
879
|
+
switchTips: '关闭此选项后,Blocklet 的文件系统将不再处于隔离状态,可能会存在恶意软件破坏文件系统的风险。'
|
|
880
|
+
},
|
|
877
881
|
register: {
|
|
878
882
|
titleAdded: '当前节点已经添加到应用启动器',
|
|
879
883
|
title: '添加节点到应用启动器',
|
|
@@ -982,7 +986,10 @@ export default {
|
|
|
982
986
|
testReceiver: 'PushKit 接收器',
|
|
983
987
|
testSend: '测试推送',
|
|
984
988
|
inputTestReceiver: '请输入测试接收者 DID',
|
|
985
|
-
receiverRequired: '需要 PushKit 接收者 DID'
|
|
989
|
+
receiverRequired: '需要 PushKit 接收者 DID',
|
|
990
|
+
pushPath: 'PushKit 的 API 路径(默认 /api/push)',
|
|
991
|
+
did: 'PushKit Blocklet DID',
|
|
992
|
+
customOptions: '自定义选项'
|
|
986
993
|
}
|
|
987
994
|
},
|
|
988
995
|
router: {
|
|
@@ -1508,7 +1515,7 @@ export default {
|
|
|
1508
1515
|
installedButStopped: '应用安装成功,但是无法启动,解决启动问题之后后可手动启动',
|
|
1509
1516
|
installedButError: '应用已经安装,但是运行出错了',
|
|
1510
1517
|
restoreFailed: '还原应用失败,请重试',
|
|
1511
|
-
resourceBlocklet: '
|
|
1518
|
+
resourceBlocklet: 'Blocklet 无法安装为应用程序,您可以将此 Blocklet 添加到现有应用程序中。'
|
|
1512
1519
|
},
|
|
1513
1520
|
steps: {
|
|
1514
1521
|
introduction: '简介',
|
|
@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Box, Button, Menu, MenuItem } from '@mui/material';
|
|
4
4
|
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
5
|
-
import
|
|
5
|
+
import { joinURL } from 'ufo';
|
|
6
6
|
import LaunchIcon from '@mui/icons-material/Launch';
|
|
7
7
|
import LinkOutlinedIcon from '@mui/icons-material/LinkOutlined';
|
|
8
8
|
import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';
|
|
@@ -26,7 +26,7 @@ function ConnectActions({
|
|
|
26
26
|
const [showReconnectConfirm, setShowReconnectConfirm] = useState(false);
|
|
27
27
|
const handleOpenUrl = e => {
|
|
28
28
|
e.stopPropagation();
|
|
29
|
-
window.open(
|
|
29
|
+
window.open(joinURL(store.url, 'developer/blocklets'));
|
|
30
30
|
window.open(store.url);
|
|
31
31
|
};
|
|
32
32
|
const handleOpen = event => {
|
package/lib/store/item.js
CHANGED
|
@@ -7,7 +7,7 @@ import AdminPanelSettingsIcon from '@mui/icons-material/AdminPanelSettings';
|
|
|
7
7
|
import DoneIcon from '@mui/icons-material/Done';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import { useEffect, useState } from 'react';
|
|
10
|
-
import
|
|
10
|
+
import { joinURL } from 'ufo';
|
|
11
11
|
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
12
12
|
import Toast from '@arcblock/ux/lib/Toast';
|
|
13
13
|
import DeleteStore from './delete';
|
|
@@ -117,7 +117,7 @@ export default function StoreItem({
|
|
|
117
117
|
const handleOpenUrl = e => {
|
|
118
118
|
e.stopPropagation();
|
|
119
119
|
if (isPublish) {
|
|
120
|
-
window.open(
|
|
120
|
+
window.open(joinURL(store.url, 'developer/blocklets'));
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
123
|
window.open(store.url);
|
package/lib/team/members/util.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { joinURL } from 'ufo';
|
|
2
2
|
import { USER_AVATAR_URL_PREFIX, USER_AVATAR_PATH_PREFIX } from '@abtnode/constant';
|
|
3
3
|
|
|
4
4
|
// eslint-disable-next-line import/prefer-default-export
|
|
@@ -6,9 +6,9 @@ export function parseAvatar(avatar, teamDid, inService) {
|
|
|
6
6
|
if (avatar && avatar.startsWith(USER_AVATAR_URL_PREFIX)) {
|
|
7
7
|
const prefix = window.env.apiPrefix || '/';
|
|
8
8
|
if (inService) {
|
|
9
|
-
return
|
|
9
|
+
return joinURL(prefix, USER_AVATAR_PATH_PREFIX, avatar.replace(USER_AVATAR_URL_PREFIX, ''));
|
|
10
10
|
}
|
|
11
|
-
return
|
|
11
|
+
return joinURL(prefix, USER_AVATAR_PATH_PREFIX, teamDid, avatar.replace(USER_AVATAR_URL_PREFIX, ''));
|
|
12
12
|
}
|
|
13
13
|
return avatar;
|
|
14
14
|
}
|
package/lib/util/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import isUrl from 'is-url';
|
|
|
8
8
|
import get from 'lodash/get';
|
|
9
9
|
import trimEnd from 'lodash/trimEnd';
|
|
10
10
|
import qs from 'querystring';
|
|
11
|
-
import
|
|
11
|
+
import { joinURL } from 'ufo';
|
|
12
12
|
import axios from '@abtnode/util/lib/axios';
|
|
13
13
|
import dayjs from '@abtnode/util/lib/dayjs';
|
|
14
14
|
import tryWithTimeout from '@abtnode/util/lib/try-with-timeout';
|
|
@@ -272,7 +272,7 @@ export const getInviteLink = ({
|
|
|
272
272
|
return '';
|
|
273
273
|
}
|
|
274
274
|
const u = new URL(endpoint);
|
|
275
|
-
u.pathname =
|
|
275
|
+
u.pathname = joinURL(u.pathname, WELLKNOWN_SERVICE_PATH_PREFIX, 'invite');
|
|
276
276
|
u.searchParams.set('inviteId', inviteId);
|
|
277
277
|
return u.href;
|
|
278
278
|
};
|
|
@@ -284,7 +284,7 @@ export const getTransferAppLink = ({
|
|
|
284
284
|
return '';
|
|
285
285
|
}
|
|
286
286
|
const u = new URL(endpoint);
|
|
287
|
-
u.pathname =
|
|
287
|
+
u.pathname = joinURL(u.pathname, WELLKNOWN_SERVICE_PATH_PREFIX, 'transfer');
|
|
288
288
|
u.searchParams.set('transferId', transferId);
|
|
289
289
|
return u.href;
|
|
290
290
|
};
|
|
@@ -296,7 +296,7 @@ export const getIssuePassportLink = ({
|
|
|
296
296
|
return '';
|
|
297
297
|
}
|
|
298
298
|
const u = new URL(endpoint);
|
|
299
|
-
u.pathname =
|
|
299
|
+
u.pathname = joinURL(u.pathname, WELLKNOWN_SERVICE_PATH_PREFIX, 'issue-passport');
|
|
300
300
|
u.searchParams.set('id', id);
|
|
301
301
|
return u.href;
|
|
302
302
|
};
|
|
@@ -366,22 +366,22 @@ export const getBlockletLogoUrl = ({
|
|
|
366
366
|
return logoPath;
|
|
367
367
|
}
|
|
368
368
|
if (baseUrl.startsWith('http') && logoPath) {
|
|
369
|
-
return
|
|
369
|
+
return joinURL(baseUrl, formatRegistryLogoPath(did, logoPath, version));
|
|
370
370
|
}
|
|
371
371
|
const prefix = window.env.apiPrefix || '/';
|
|
372
372
|
let apiPrefix = prefix.replace(/^\/+/, '').replace(/\/+$/, '');
|
|
373
373
|
if (apiPrefix) {
|
|
374
374
|
apiPrefix = `/${apiPrefix}`;
|
|
375
375
|
}
|
|
376
|
-
return
|
|
376
|
+
return joinURL(apiPrefix, version ? `/blocklet/logo/${did}?v=${version}` : `/blocklet/logo/${did}`);
|
|
377
377
|
};
|
|
378
378
|
export const getPathPrefix = () => window.env && window.env.apiPrefix ? window.env.apiPrefix : '/';
|
|
379
|
-
export const isUrlAccessible = url => checkAccessible(
|
|
379
|
+
export const isUrlAccessible = url => checkAccessible(joinURL(new URL(url).origin, WELLKNOWN_PING_PREFIX));
|
|
380
380
|
const checkBlockletAccessible = async (url, timeout = 5000) => {
|
|
381
381
|
try {
|
|
382
382
|
const urlObj = new URL(url);
|
|
383
383
|
urlObj.protocol = 'https';
|
|
384
|
-
urlObj.pathname =
|
|
384
|
+
urlObj.pathname = joinURL(WELLKNOWN_BLOCKLET_HEALTH_PATH);
|
|
385
385
|
const response = await axios.get(urlObj.toString(), {
|
|
386
386
|
timeout,
|
|
387
387
|
validateStatus: status => {
|
|
@@ -501,10 +501,10 @@ export function getBlockletMetaUrl(storeUrl, did, dist) {
|
|
|
501
501
|
if (!origin && dist?.tarball) {
|
|
502
502
|
origin = new URL(dist.tarball).origin;
|
|
503
503
|
}
|
|
504
|
-
return
|
|
504
|
+
return joinURL(origin, BLOCKLET_STORE_API_PREFIX, `/blocklets/${did}/blocklet.json`);
|
|
505
505
|
}
|
|
506
506
|
export async function getAsset(chainHost, address) {
|
|
507
|
-
const result = await axios.post(
|
|
507
|
+
const result = await axios.post(joinURL(chainHost, '/api/gql/'), JSON.stringify({
|
|
508
508
|
query: `{
|
|
509
509
|
getAssetState(address: "${address}") {
|
|
510
510
|
state {
|
|
@@ -627,12 +627,12 @@ const getLauncherBaseURL = async launcherUrl => {
|
|
|
627
627
|
try {
|
|
628
628
|
const {
|
|
629
629
|
data: appMeta
|
|
630
|
-
} = await axios.get(
|
|
630
|
+
} = await axios.get(joinURL(launcherUrl, '__blocklet__.js?type=json'), {
|
|
631
631
|
timeout: 5000
|
|
632
632
|
});
|
|
633
633
|
const mountPoint = appMeta.componentMountPoints?.find(item => item.did === 'z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7');
|
|
634
634
|
const launcherUrlObj = new URL(launcherUrl);
|
|
635
|
-
baseUrl =
|
|
635
|
+
baseUrl = joinURL(launcherUrlObj.origin, mountPoint?.mountPoint);
|
|
636
636
|
} catch (error) {
|
|
637
637
|
console.error(error);
|
|
638
638
|
}
|
|
@@ -646,20 +646,20 @@ export const getSubscriptionURL = async ({
|
|
|
646
646
|
if (!launcherUrl) {
|
|
647
647
|
return '';
|
|
648
648
|
}
|
|
649
|
-
let baseUrl =
|
|
649
|
+
let baseUrl = joinURL(launcherUrl, '/instances');
|
|
650
650
|
try {
|
|
651
651
|
const {
|
|
652
652
|
data: appMeta
|
|
653
|
-
} = await axios.get(
|
|
653
|
+
} = await axios.get(joinURL(launcherUrl, '__blocklet__.js?type=json'), {
|
|
654
654
|
timeout: 5000
|
|
655
655
|
});
|
|
656
656
|
const mountPoint = appMeta.componentMountPoints?.find(item => item.did === 'z8iZy4P83i6AgnNdNUexsh2kBcsDHoqcwPavn');
|
|
657
657
|
const launcherUrlObj = new URL(launcherUrl);
|
|
658
|
-
baseUrl =
|
|
658
|
+
baseUrl = joinURL(launcherUrlObj.origin, mountPoint?.mountPoint, '/nfts');
|
|
659
659
|
} catch (error) {
|
|
660
660
|
console.error(error);
|
|
661
661
|
}
|
|
662
|
-
return
|
|
662
|
+
return joinURL(baseUrl, `/${nftId}/subscription?locale=${locale}&return-url=${encodeURIComponent(window.location.href)}`);
|
|
663
663
|
};
|
|
664
664
|
export const getSubscriptionUrlV2 = async ({
|
|
665
665
|
launcherUrl = '',
|
|
@@ -671,7 +671,7 @@ export const getSubscriptionUrlV2 = async ({
|
|
|
671
671
|
return '';
|
|
672
672
|
}
|
|
673
673
|
const baseUrl = await getLauncherBaseURL(launcherUrl);
|
|
674
|
-
return
|
|
674
|
+
return joinURL(baseUrl, `/embed/subscription?launcherSessionId=${launcherSessionId}&nftDid=${nftDid}&locale=${locale}`); // nftDid 是兼容字段
|
|
675
675
|
};
|
|
676
676
|
export const getManageSubscriptionURL = async ({
|
|
677
677
|
launcherUrl = '',
|
|
@@ -682,7 +682,7 @@ export const getManageSubscriptionURL = async ({
|
|
|
682
682
|
return '';
|
|
683
683
|
}
|
|
684
684
|
const baseUrl = await getLauncherBaseURL(launcherUrl);
|
|
685
|
-
return
|
|
685
|
+
return joinURL(baseUrl, `/embed/manage-subscription?launcherSessionId=${launcherSessionId}&locale=${locale}`);
|
|
686
686
|
};
|
|
687
687
|
export const nanoid = (length = 16) => [...Array(length)].map(() => Math.random().toString(36)[2]).join('');
|
|
688
688
|
export const getSystemDomains = domains => domains.filter(x => x.isProtected);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { joinURL } from 'ufo';
|
|
2
2
|
const joinUrlKeepSearch = (originalUrl, path) => {
|
|
3
3
|
if (!originalUrl) {
|
|
4
4
|
return '';
|
|
@@ -8,7 +8,7 @@ const joinUrlKeepSearch = (originalUrl, path) => {
|
|
|
8
8
|
}
|
|
9
9
|
const url = new URL(originalUrl);
|
|
10
10
|
const searchParams = new URLSearchParams(url.searchParams);
|
|
11
|
-
const newPath = new URL(
|
|
11
|
+
const newPath = new URL(joinURL(url.origin, path));
|
|
12
12
|
newPath.search = searchParams.toString();
|
|
13
13
|
return newPath.toString();
|
|
14
14
|
};
|
package/lib/util/spaces.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import isUrl from 'is-url';
|
|
2
2
|
import { BLOCKLET_CONFIGURABLE_KEY } from '@blocklet/constant';
|
|
3
3
|
import { isObject, isString } from 'lodash';
|
|
4
|
-
import { joinURL } from 'ufo';
|
|
4
|
+
import { joinURL, withQuery } from 'ufo';
|
|
5
5
|
import { api } from './api';
|
|
6
6
|
|
|
7
7
|
/* eslint-disable import/prefer-default-export */
|
|
@@ -230,6 +230,8 @@ export async function getSpaceGatewayUrl(anyUrl, options = {
|
|
|
230
230
|
throw new Error(`MountPoint(${mountPoint}) not found`);
|
|
231
231
|
}
|
|
232
232
|
const didSpacesCoreUrl = joinURL(u.origin, mountPoint);
|
|
233
|
-
const spaceGatewayUrl = options.withSearchParams && u.searchParams.get('spaceDid') ?
|
|
233
|
+
const spaceGatewayUrl = options.withSearchParams && u.searchParams.get('spaceDid') ? withQuery(didSpacesCoreUrl, {
|
|
234
|
+
spaceDid: u.searchParams.get('spaceDid')
|
|
235
|
+
}) : didSpacesCoreUrl;
|
|
234
236
|
return spaceGatewayUrl;
|
|
235
237
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/ux",
|
|
3
|
-
"version": "1.16.28-beta-
|
|
3
|
+
"version": "1.16.28-beta-641c9f13",
|
|
4
4
|
"description": "UX components shared across abtnode packages",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,24 +25,24 @@
|
|
|
25
25
|
"author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@abtnode/auth": "1.16.28-beta-
|
|
29
|
-
"@abtnode/constant": "1.16.28-beta-
|
|
30
|
-
"@abtnode/util": "1.16.28-beta-
|
|
28
|
+
"@abtnode/auth": "1.16.28-beta-641c9f13",
|
|
29
|
+
"@abtnode/constant": "1.16.28-beta-641c9f13",
|
|
30
|
+
"@abtnode/util": "1.16.28-beta-641c9f13",
|
|
31
31
|
"@ahooksjs/use-url-state": "^3.5.1",
|
|
32
32
|
"@arcblock/did": "^1.18.123",
|
|
33
|
-
"@arcblock/did-connect": "^2.
|
|
33
|
+
"@arcblock/did-connect": "^2.10.0",
|
|
34
34
|
"@arcblock/did-motif": "^1.1.13",
|
|
35
|
-
"@arcblock/icons": "^2.
|
|
36
|
-
"@arcblock/nft-display": "2.
|
|
37
|
-
"@arcblock/react-hooks": "^2.
|
|
38
|
-
"@arcblock/terminal": "^2.
|
|
39
|
-
"@arcblock/ux": "^2.
|
|
40
|
-
"@blocklet/constant": "1.16.28-beta-
|
|
41
|
-
"@blocklet/launcher-layout": "2.3.
|
|
42
|
-
"@blocklet/list": "^0.12.
|
|
43
|
-
"@blocklet/meta": "1.16.28-beta-
|
|
44
|
-
"@blocklet/ui-react": "^2.
|
|
45
|
-
"@blocklet/uploader": "^0.1.
|
|
35
|
+
"@arcblock/icons": "^2.10.0",
|
|
36
|
+
"@arcblock/nft-display": "2.10.0",
|
|
37
|
+
"@arcblock/react-hooks": "^2.10.0",
|
|
38
|
+
"@arcblock/terminal": "^2.10.0",
|
|
39
|
+
"@arcblock/ux": "^2.10.0",
|
|
40
|
+
"@blocklet/constant": "1.16.28-beta-641c9f13",
|
|
41
|
+
"@blocklet/launcher-layout": "2.3.22",
|
|
42
|
+
"@blocklet/list": "^0.12.114",
|
|
43
|
+
"@blocklet/meta": "1.16.28-beta-641c9f13",
|
|
44
|
+
"@blocklet/ui-react": "^2.10.0",
|
|
45
|
+
"@blocklet/uploader": "^0.1.10",
|
|
46
46
|
"@emotion/react": "^11.10.4",
|
|
47
47
|
"@emotion/styled": "^11.10.4",
|
|
48
48
|
"@iconify-icons/logos": "^1.2.36",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@ocap/client": "1.18.123",
|
|
59
59
|
"@uiw/react-markdown-preview": "^5.1.1",
|
|
60
60
|
"ahooks": "^3.7.8",
|
|
61
|
-
"axios": "^
|
|
61
|
+
"axios": "^1.7.2",
|
|
62
62
|
"classnames": "^2.3.2",
|
|
63
63
|
"copy-to-clipboard": "^3.3.3",
|
|
64
64
|
"date-fns": "^2.30.0",
|
|
@@ -93,8 +93,7 @@
|
|
|
93
93
|
"rehype-external-links": "^3.0.0",
|
|
94
94
|
"semver": "^7.3.8",
|
|
95
95
|
"timeago.js": "^4.0.2",
|
|
96
|
-
"ufo": "^1.
|
|
97
|
-
"url-join": "^4.0.1",
|
|
96
|
+
"ufo": "^1.5.3",
|
|
98
97
|
"validator": "^13.9.0"
|
|
99
98
|
},
|
|
100
99
|
"devDependencies": {
|
|
@@ -108,5 +107,5 @@
|
|
|
108
107
|
"jest": "^29.7.0",
|
|
109
108
|
"jest-environment-jsdom": "^29.7.0"
|
|
110
109
|
},
|
|
111
|
-
"gitHead": "
|
|
110
|
+
"gitHead": "eb1fa63e4ed26fe5ba230845a318faa29408138b"
|
|
112
111
|
}
|