@abtnode/ux 1.16.26-beta-4831bf3f → 1.16.26-beta-5251ab18
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/blocklet/actions.js +74 -33
- package/es/blocklet/component/add-component-core.js +28 -29
- package/es/blocklet/component/select-store.js +9 -10
- package/es/blocklet/icons.js +3 -1
- package/es/blocklet/publish/connect-store-list.js +8 -4
- package/es/blocklet/publish/project-list.js +56 -18
- package/es/blocklet/publish/release-list.js +0 -1
- package/es/locales/ar.js +11 -2
- package/es/locales/de.js +12 -3
- package/es/locales/en.js +11 -2
- package/es/locales/es.js +12 -3
- package/es/locales/fr.js +12 -3
- package/es/locales/hi.js +12 -3
- package/es/locales/i18n.db +0 -0
- package/es/locales/id.js +11 -2
- package/es/locales/ja.js +12 -3
- package/es/locales/ko.js +12 -3
- package/es/locales/pt.js +12 -3
- package/es/locales/ru.js +11 -2
- package/es/locales/th.js +11 -2
- package/es/locales/vi.js +11 -2
- package/es/locales/zh-tw.js +12 -3
- package/es/locales/zh.js +12 -3
- package/es/store/connect-actions.js +130 -0
- package/es/store/delete.js +8 -2
- package/es/store/item.js +5 -9
- package/es/util/join-url-keep-search.js +15 -0
- package/lib/blocklet/actions.js +82 -38
- package/lib/blocklet/component/add-component-core.js +27 -28
- package/lib/blocklet/component/select-store.js +9 -10
- package/lib/blocklet/icons.js +3 -1
- package/lib/blocklet/publish/connect-store-list.js +8 -4
- package/lib/blocklet/publish/project-list.js +56 -18
- package/lib/blocklet/publish/release-list.js +0 -1
- package/lib/locales/ar.js +11 -2
- package/lib/locales/de.js +12 -3
- package/lib/locales/en.js +11 -2
- package/lib/locales/es.js +12 -3
- package/lib/locales/fr.js +12 -3
- package/lib/locales/hi.js +12 -3
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +11 -2
- package/lib/locales/ja.js +12 -3
- package/lib/locales/ko.js +12 -3
- package/lib/locales/pt.js +12 -3
- package/lib/locales/ru.js +11 -2
- package/lib/locales/th.js +11 -2
- package/lib/locales/vi.js +11 -2
- package/lib/locales/zh-tw.js +12 -3
- package/lib/locales/zh.js +12 -3
- package/lib/store/connect-actions.js +138 -0
- package/lib/store/delete.js +8 -2
- package/lib/store/item.js +5 -9
- package/lib/util/join-url-keep-search.js +22 -0
- package/package.json +7 -7
package/es/locales/fr.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'Téléchargé',
|
|
354
354
|
uploadToStore: 'Télécharger vers le magasin',
|
|
355
355
|
upload: 'Télécharger',
|
|
356
|
-
blockletStudio: 'Studio Blocklet'
|
|
356
|
+
blockletStudio: 'Studio Blocklet',
|
|
357
|
+
visitStore: 'Visiter le magasin',
|
|
358
|
+
reconnect: 'Reconnecter'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: 'Externe',
|
|
@@ -663,7 +665,7 @@ export default {
|
|
|
663
665
|
createBlocklet: 'Nouvelle blocklet',
|
|
664
666
|
deleteBlockletTip: 'Le bloclet ne peut pas être récupéré après sa suppression, veuillez confirmer',
|
|
665
667
|
componentNotRunning: "Le composant {name} ne fonctionne pas, veuillez le démarrer d'abord",
|
|
666
|
-
releaseEmptyTip: "Il n'y a
|
|
668
|
+
releaseEmptyTip: "Il n'y a pas de sorties ici",
|
|
667
669
|
createReleaseTip: "Vous pouvez créer une version du blocklet, ainsi que des notes de version et des ressources, pour que d'autres personnes puissent les utiliser.",
|
|
668
670
|
createRelease: 'Nouvelle version',
|
|
669
671
|
deleteReleaseTip: 'La version ne peut pas être récupérée après la suppression',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'Blocklet publié avec succès dans le magasin',
|
|
701
703
|
connectStoreSuccess: 'Connexion réussie au Blocklet Store',
|
|
702
704
|
uploadToStoreSuccess: 'Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store',
|
|
703
|
-
viewLastRelease: 'Voir la dernière version'
|
|
705
|
+
viewLastRelease: 'Voir la dernière version',
|
|
706
|
+
reconnectStoreTip: 'Après la reconnexion, un nouveau développeur sera lié. Êtes-vous sûr de vouloir vous reconnecter ?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: 'Supprimez {name}',
|
|
709
|
+
scan: 'Scannez le code QR ci-dessous pour supprimer {name}',
|
|
710
|
+
confirm: "Veuillez confirmer l'utilisation du portefeuille DID",
|
|
711
|
+
success: 'Le projet Blocklet a été supprimé, veuillez poursuivre votre opération.'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: "La longueur du titre doit être d'au moins 3 caractères",
|
|
706
715
|
descriptionValidationError: 'La longueur de la description doit être comprise entre 3 et 160 caractères'
|
package/es/locales/hi.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'अपलोड किया गया',
|
|
354
354
|
uploadToStore: 'स्टोर में अपलोड करें',
|
|
355
355
|
upload: 'अपलोड करें',
|
|
356
|
-
blockletStudio: 'ब्लॉकलेट स्टूडियो'
|
|
356
|
+
blockletStudio: 'ब्लॉकलेट स्टूडियो',
|
|
357
|
+
visitStore: 'स्टोर को देखें',
|
|
358
|
+
reconnect: 'पुनः कनेक्ट करें'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: 'बाहरी',
|
|
@@ -663,7 +665,7 @@ export default {
|
|
|
663
665
|
createBlocklet: 'नया ब्लॉकलेट',
|
|
664
666
|
deleteBlockletTip: 'हटाने के बाद ब्लॉकलेट को पुनर्प्राप्त नहीं किया जा सकता है, कृपया पुष्टि करें',
|
|
665
667
|
componentNotRunning: 'संघ {name} चल नहीं रहा है, कृपया पहले इसे शुरू करें',
|
|
666
|
-
releaseEmptyTip: 'यहां कोई रिलीज़ नहीं
|
|
668
|
+
releaseEmptyTip: 'यहां कोई रिलीज़ नहीं हैं',
|
|
667
669
|
createReleaseTip: 'आप ब्लॉकलेट का एक रिलीज़ बना सकते हैं, रिलीज़ नोट्स और संसाधनों के साथ, जिन्हें दूसरे लोगों का उपयोग कर सकते हैं।',
|
|
668
670
|
createRelease: 'नई रिलीज़',
|
|
669
671
|
deleteReleaseTip: 'हटाने के बाद रिलीज़ को पुनर्प्राप्त नहीं किया जा सकता है',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'सफलतापूर्वक स्टोर में ब्लॉकलेट प्रकाशित',
|
|
701
703
|
connectStoreSuccess: 'ब्लॉकलेट स्टोर सफलतापूर्वक कनेक्ट हो गया',
|
|
702
704
|
uploadToStoreSuccess: 'ब्लॉकलेट को स्टोर में सफलतापूर्वक अपलोड किया गया है, आपको इसे स्टोर में प्रकाशित करने की आवश्यकता है',
|
|
703
|
-
viewLastRelease: 'अंतिम रिलीज़ देखें'
|
|
705
|
+
viewLastRelease: 'अंतिम रिलीज़ देखें',
|
|
706
|
+
reconnectStoreTip: 'पुनर्संयोजन करने के बाद, एक नया डेवलपर बाउंड हो जाएगा। क्या आप वाकई पुनः संयोजित होना चाहते हैं?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: '{name} को हटाएं',
|
|
709
|
+
scan: 'नीचे दिए गए क्यूआर कोड स्कैन करें और {name} को हटाएं',
|
|
710
|
+
confirm: 'कृपया डीआईडी वॉलेट का प्रयोग करके पुष्टि करें',
|
|
711
|
+
success: 'ब्लॉकलेट प्रोजेक्ट हटा दिया गया है, कृपया अपने आपरेशन को जारी रखें।'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: 'शीर्षक की लंबाई कम से कम 3 अक्षर होनी चाहिए',
|
|
706
715
|
descriptionValidationError: 'विवरण की लंबाई 3 और 160 वर्णों के बीच होनी चाहिए'
|
package/es/locales/i18n.db
CHANGED
|
Binary file
|
package/es/locales/id.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'Diunggah',
|
|
354
354
|
uploadToStore: 'Unggah ke Toko',
|
|
355
355
|
upload: 'Unggah',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: 'Kunjungi Toko',
|
|
358
|
+
reconnect: 'Menghubungkan kembali'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: 'Eksternal',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'Blocklet berhasil dipublikasikan ke Store',
|
|
701
703
|
connectStoreSuccess: 'Penyimpanan Blocklet berhasil terhubung',
|
|
702
704
|
uploadToStoreSuccess: 'Blocklet berhasil diunggah ke Store, Anda perlu mempublikasikannya di Store',
|
|
703
|
-
viewLastRelease: 'Tampilkan rilis terakhir'
|
|
705
|
+
viewLastRelease: 'Tampilkan rilis terakhir',
|
|
706
|
+
reconnectStoreTip: 'Setelah terhubung kembali, pengembang baru akan terikat. Apakah Anda yakin ingin terhubung kembali?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: 'Hapus {name}',
|
|
709
|
+
scan: 'Pindai kode QR di bawah ini untuk menghapus {name}',
|
|
710
|
+
confirm: 'Konfirmasi menggunakan Dompet DID',
|
|
711
|
+
success: 'Proyek Blocklet telah dihapus, silakan lanjutkan operasi anda'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: 'Panjang judul harus setidaknya 3 karakter',
|
|
706
715
|
descriptionValidationError: 'Panjang deskripsi harus antara 3 dan 160 karakter.'
|
package/es/locales/ja.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'アップロードされました',
|
|
354
354
|
uploadToStore: 'ストアにアップロード',
|
|
355
355
|
upload: 'アップロード',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: '店を訪れる',
|
|
358
|
+
reconnect: '再接続する'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: '外部',
|
|
@@ -663,7 +665,7 @@ export default {
|
|
|
663
665
|
createBlocklet: '新しいブロックレット',
|
|
664
666
|
deleteBlockletTip: 'ブロックを削除した後は復元できませんので、確認してください',
|
|
665
667
|
componentNotRunning: 'コンポーネント{name}は実行されていません。先に開始してください。',
|
|
666
|
-
releaseEmptyTip: '
|
|
668
|
+
releaseEmptyTip: 'ここにはリリースがありません',
|
|
667
669
|
createReleaseTip: '他の人が使用できるように、リリースノートやリソースと共にブロックをリリースすることができます',
|
|
668
670
|
createRelease: '新しいリリース',
|
|
669
671
|
deleteReleaseTip: '削除後、リリースは復元できません',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'ブロックレットが正常にストアに公開されました',
|
|
701
703
|
connectStoreSuccess: 'Blockletストアが正常に接続されました',
|
|
702
704
|
uploadToStoreSuccess: 'ブロックレットがストアに正常にアップロードされました。ストアで公開する必要があります',
|
|
703
|
-
viewLastRelease: '最新リリースを表示する'
|
|
705
|
+
viewLastRelease: '最新リリースを表示する',
|
|
706
|
+
reconnectStoreTip: '再接続後、新しい開発者がバインドされます。再接続しますか?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: '{name}を削除する',
|
|
709
|
+
scan: '{name}を削除するために、以下のQRコードをスキャンしてください',
|
|
710
|
+
confirm: 'DIDウォレットを使用して確認',
|
|
711
|
+
success: 'Blocklet プロジェクトが削除されました。操作を続行してください'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: 'タイトルの長さは最低3文字以上である必要があります',
|
|
706
715
|
descriptionValidationError: '説明の長さは3から160文字の間でなければなりません'
|
package/es/locales/ko.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: '업로드되었습니다',
|
|
354
354
|
uploadToStore: '스토어에 업로드',
|
|
355
355
|
upload: '업로드',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: '가게 방문하기',
|
|
358
|
+
reconnect: '재연결'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: '외부의',
|
|
@@ -663,7 +665,7 @@ export default {
|
|
|
663
665
|
createBlocklet: '새로운 블록렛',
|
|
664
666
|
deleteBlockletTip: '블록이 삭제된 후에는 복구할 수 없습니다. 확인해주세요',
|
|
665
667
|
componentNotRunning: '구성요소 {name}이(가) 실행되지 않았습니다. 먼저 시작하세요.',
|
|
666
|
-
releaseEmptyTip: '여기에는
|
|
668
|
+
releaseEmptyTip: '여기에는 출시 정보가 없습니다',
|
|
667
669
|
createReleaseTip: '다른 사람들이 사용할 수 있도록 블록릿의 릴리스와 릴리스 노트 및 자원을 생성할 수 있습니다',
|
|
668
670
|
createRelease: '새로운 릴리스',
|
|
669
671
|
deleteReleaseTip: '삭제 후에는 복구할 수 없는 릴리스입니다',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'Store에 블록릿 성공적으로 발행됐습니다',
|
|
701
703
|
connectStoreSuccess: '블록렛 스토어가 성공적으로 연결되었습니다',
|
|
702
704
|
uploadToStoreSuccess: '블록렛이 성공적으로 스토어에 업로드되었습니다. 스토어에서 게시해야 합니다',
|
|
703
|
-
viewLastRelease: '최신 릴리스 보기'
|
|
705
|
+
viewLastRelease: '최신 릴리스 보기',
|
|
706
|
+
reconnectStoreTip: '재연결 후에는 새로운 개발자가 연결됩니다. 재연결 하시겠습니까?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: '{name}을 삭제하세요',
|
|
709
|
+
scan: '{name}를 삭제하기 위해 아래의 QR 코드를 스캔하세요',
|
|
710
|
+
confirm: 'DID 지갑을 사용하여 확인하세요',
|
|
711
|
+
success: 'Blocklet 프로젝트가 삭제되었습니다. 작업을 계속하세요'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: '제목 길이는 최소 3자 이상이어야 합니다',
|
|
706
715
|
descriptionValidationError: '설명 길이는 3에서 160자 사이여야 합니다'
|
package/es/locales/pt.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'Carregado',
|
|
354
354
|
uploadToStore: 'Enviar para a Loja',
|
|
355
355
|
upload: 'Upload',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: 'Visite a loja',
|
|
358
|
+
reconnect: 'Reconectar'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: 'Externo',
|
|
@@ -663,7 +665,7 @@ export default {
|
|
|
663
665
|
createBlocklet: 'Novo bloco',
|
|
664
666
|
deleteBlockletTip: 'O bloco não pode ser recuperado após a exclusão, por favor, confirme',
|
|
665
667
|
componentNotRunning: 'O componente {name} não está sendo executado, por favor, inicie-o primeiro',
|
|
666
|
-
releaseEmptyTip: 'Não há
|
|
668
|
+
releaseEmptyTip: 'Não há nenhum lançamento aqui',
|
|
667
669
|
createReleaseTip: 'Você pode criar um lançamento do blocklet, juntamente com notas de lançamento e recursos, para que outras pessoas possam usar',
|
|
668
670
|
createRelease: 'Novo lançamento',
|
|
669
671
|
deleteReleaseTip: 'A liberação não pode ser recuperada após exclusão',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'Blocklet publicado na loja com sucesso',
|
|
701
703
|
connectStoreSuccess: 'Loja de Blocos conectada com sucesso',
|
|
702
704
|
uploadToStoreSuccess: 'Blocklet enviado para a Store com sucesso, você precisa publicá-lo na Store',
|
|
703
|
-
viewLastRelease: 'Visualizar última versão'
|
|
705
|
+
viewLastRelease: 'Visualizar última versão',
|
|
706
|
+
reconnectStoreTip: 'Após reconectar, um novo desenvolvedor será vinculado. Você tem certeza de que deseja reconectar?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: 'Excluir {name}',
|
|
709
|
+
scan: 'Digitalize o código QR abaixo para excluir {name}',
|
|
710
|
+
confirm: 'Confirmar usando a Carteira DID',
|
|
711
|
+
success: 'O projeto Blocklet foi excluído, por favor, continue sua operação'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: 'O comprimento do título deve ter pelo menos 3 caracteres',
|
|
706
715
|
descriptionValidationError: 'O comprimento da descrição deve estar entre 3 e 160 caracteres.'
|
package/es/locales/ru.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'Загружено',
|
|
354
354
|
uploadToStore: 'Загрузить в магазин',
|
|
355
355
|
upload: 'Загрузить',
|
|
356
|
-
blockletStudio: 'Студия Блоклет'
|
|
356
|
+
blockletStudio: 'Студия Блоклет',
|
|
357
|
+
visitStore: 'Посетите магазин',
|
|
358
|
+
reconnect: 'Восстановить соединение'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: 'Внешний',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'Блоклет успешно опубликован в магазине',
|
|
701
703
|
connectStoreSuccess: 'Успешное подключение к Blocklet Store',
|
|
702
704
|
uploadToStoreSuccess: 'Блоклет успешно загружен в магазин, вам нужно опубликовать его в магазине',
|
|
703
|
-
viewLastRelease: 'Просмотр последнего релиза'
|
|
705
|
+
viewLastRelease: 'Просмотр последнего релиза',
|
|
706
|
+
reconnectStoreTip: 'После переподключения будет назначен новый разработчик. Вы уверены, что хотите переподключиться?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: 'Удалить {name}',
|
|
709
|
+
scan: 'Сканируйте QR-код ниже, чтобы удалить {name}',
|
|
710
|
+
confirm: 'Подтвердите использование кошелька DID',
|
|
711
|
+
success: 'Проект Blocklet был удален, пожалуйста, продолжите вашу операцию.'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: 'Длина заголовка должна быть не менее 3 символов',
|
|
706
715
|
descriptionValidationError: 'Длина описания должна быть от 3 до 160 символов'
|
package/es/locales/th.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'อัปโหลดแล้ว',
|
|
354
354
|
uploadToStore: 'อัปโหลดไปยังร้านค้า',
|
|
355
355
|
upload: 'อัปโหลด',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: 'เยี่ยมชมร้านค้า',
|
|
358
|
+
reconnect: 'เชื่อมต่อใหม่'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: 'ภายนอก',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'Blocklet ได้เผยแพร่ในร้านค้าเรียบร้อยแล้ว',
|
|
701
703
|
connectStoreSuccess: 'เชื่อมต่อ Blocklet Store สำเร็จ',
|
|
702
704
|
uploadToStoreSuccess: 'อัพโหลด Blocklet เข้าสู่ Store สำเร็จแล้ว คุณต้องเผยแพร่ในร้านค้า',
|
|
703
|
-
viewLastRelease: 'ดูรายการอัพเดตล่าสุด'
|
|
705
|
+
viewLastRelease: 'ดูรายการอัพเดตล่าสุด',
|
|
706
|
+
reconnectStoreTip: 'หลังจากเชื่อมต่อใหม่ จะมีนักพัฒนารุ่นใหม่เข้ามาเป็นที่ผูกพัน คุณแน่ใจหรือไม่ว่าต้องการที่จะเชื่อมต่อใหม่หรือไม่?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: 'ลบ {name}',
|
|
709
|
+
scan: 'สแกนรหัส QR ด้านล่างเพื่อลบ {name}',
|
|
710
|
+
confirm: 'ยืนยันการใช้งานกระเป๋าสตางค์ DID',
|
|
711
|
+
success: 'โครงการ Blocklet ได้ถูกลบแล้ว โปรดดำเนินการต่อ'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: 'ความยาวของชื่อต้องมีอย่างน้อย 3 ตัวอักษร',
|
|
706
715
|
descriptionValidationError: 'ความยาวคำอธิบายต้องอยู่ระหว่าง 3 ถึง 160 ตัวอักษร.'
|
package/es/locales/vi.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: 'Đã tải lên',
|
|
354
354
|
uploadToStore: 'Tải lên Cửa hàng',
|
|
355
355
|
upload: 'Tải lên',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: 'Ghé cửa hàng',
|
|
358
|
+
reconnect: 'Kết nối lại'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: 'Bên ngoài',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: 'Blocklet đã được xuất bản vào cửa hàng thành công',
|
|
701
703
|
connectStoreSuccess: 'Kết nối Blocklet Store thành công',
|
|
702
704
|
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'
|
|
705
|
+
viewLastRelease: 'Xem phiên bản phát hành gần đây nhất',
|
|
706
|
+
reconnectStoreTip: 'Sau khi kết nối lại, một nhà phát triển mới sẽ được liên kết. Bạn có chắc chắn muốn kết nối lại không?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: 'Xóa {name}',
|
|
709
|
+
scan: 'Quét mã QR bên dưới để xóa {name}',
|
|
710
|
+
confirm: 'Xác nhận sử dụng Ví DID',
|
|
711
|
+
success: 'Dự án Blocklet đã bị xóa, vui lòng tiếp tục hoạt động của bạn'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: 'Độ dài tiêu đề phải ít nhất 3 ký tự',
|
|
706
715
|
descriptionValidationError: 'Chiều dài mô tả phải từ 3 đến 160 ký tự.'
|
package/es/locales/zh-tw.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: '已上傳',
|
|
354
354
|
uploadToStore: '上傳至 Store',
|
|
355
355
|
upload: '上傳',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: '訪問 Store',
|
|
358
|
+
reconnect: '重新連接'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: '外部的',
|
|
@@ -660,7 +662,7 @@ export default {
|
|
|
660
662
|
resourceTitle: '資源',
|
|
661
663
|
blockletEmptyTip: '這裡沒有任何區塊元件',
|
|
662
664
|
createBlockletTip: '您可以透過現有的資源、元件和設定,在此應用程式中建立新的 blocklet',
|
|
663
|
-
createBlocklet: '
|
|
665
|
+
createBlocklet: '新增 Blocklet',
|
|
664
666
|
deleteBlockletTip: '刪除後無法恢復區塊,請確認',
|
|
665
667
|
componentNotRunning: '{name}元件未運行,請先啟動。',
|
|
666
668
|
releaseEmptyTip: '這裡沒有任何發布',
|
|
@@ -700,7 +702,14 @@ export default {
|
|
|
700
702
|
publishToStoreSuccess: '成功發佈到 Store 的區塊鏈',
|
|
701
703
|
connectStoreSuccess: 'Store 連線成功',
|
|
702
704
|
uploadToStoreSuccess: 'Blocklet 成功上傳至 Store,請在 Store 中發布',
|
|
703
|
-
viewLastRelease: '查看最新版本'
|
|
705
|
+
viewLastRelease: '查看最新版本',
|
|
706
|
+
reconnectStoreTip: '重新連接後,將綁定一個新的開發者。你確定要重新連接嗎?',
|
|
707
|
+
deleteProject: {
|
|
708
|
+
title: '刪除{name}',
|
|
709
|
+
scan: '掃描下方的QR碼以刪除{name}',
|
|
710
|
+
confirm: '確認使用DID錢包',
|
|
711
|
+
success: 'Blocklet 專案已被刪除,請繼續進行操作'
|
|
712
|
+
}
|
|
704
713
|
},
|
|
705
714
|
titleValidationError: '標題長度必須至少為3到40個字符',
|
|
706
715
|
descriptionValidationError: '描述長度必須介於3到160個字符之間'
|
package/es/locales/zh.js
CHANGED
|
@@ -353,7 +353,9 @@ export default {
|
|
|
353
353
|
uploaded: '已上传',
|
|
354
354
|
uploadToStore: '上传到 Store',
|
|
355
355
|
upload: '上传',
|
|
356
|
-
blockletStudio: 'Blocklet Studio'
|
|
356
|
+
blockletStudio: 'Blocklet Studio',
|
|
357
|
+
visitStore: '访问 Store',
|
|
358
|
+
reconnect: '重新连接'
|
|
357
359
|
},
|
|
358
360
|
blocklet: {
|
|
359
361
|
external: '外部',
|
|
@@ -663,7 +665,7 @@ export default {
|
|
|
663
665
|
resourceTitle: '资源型 Blocklet',
|
|
664
666
|
blockletEmptyTip: '这里没有任何 Blocklet',
|
|
665
667
|
createBlockletTip: '你可以使用此应用的资源,组件,配置制作新的 Blocklet',
|
|
666
|
-
createBlocklet: '
|
|
668
|
+
createBlocklet: '新建 Blocklet',
|
|
667
669
|
deleteBlockletTip: '此 Blocklet 删除后不可恢复,是否继续?',
|
|
668
670
|
componentNotRunning: '组件 {name} 未运行',
|
|
669
671
|
releaseEmptyTip: '这里没有任何发布',
|
|
@@ -703,7 +705,14 @@ export default {
|
|
|
703
705
|
publishToStoreSuccess: '成功发布 Blocklet 到 Store',
|
|
704
706
|
connectStoreSuccess: 'Blocklet 成功连接 Store',
|
|
705
707
|
uploadToStoreSuccess: 'Blocklet 成功上传至 Store,请在 Store 中发布',
|
|
706
|
-
viewLastRelease: '查看最新版本'
|
|
708
|
+
viewLastRelease: '查看最新版本',
|
|
709
|
+
reconnectStoreTip: '重新连接后,将绑定一个新的开发者。你确定要重新连接吗?',
|
|
710
|
+
deleteProject: {
|
|
711
|
+
title: '删除{name}',
|
|
712
|
+
scan: '扫描下方的QR码以删除{name}',
|
|
713
|
+
confirm: '确认使用DID钱包',
|
|
714
|
+
success: 'Blocklet 项目已被删除,请继续操作'
|
|
715
|
+
}
|
|
707
716
|
},
|
|
708
717
|
titleValidationError: '标题长度必须至少为3到40个字符',
|
|
709
718
|
descriptionValidationError: '描述长度必须在3到160个字符之间'
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Button, Menu, MenuItem } from '@mui/material';
|
|
4
|
+
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
5
|
+
import joinUrl from 'url-join';
|
|
6
|
+
import LaunchIcon from '@mui/icons-material/Launch';
|
|
7
|
+
import LinkOutlinedIcon from '@mui/icons-material/LinkOutlined';
|
|
8
|
+
import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';
|
|
9
|
+
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
10
|
+
import ConfirmDialog from '../confirm';
|
|
11
|
+
import DeleteStore from './delete';
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
+
function ConnectActions({
|
|
14
|
+
connected,
|
|
15
|
+
onConnect,
|
|
16
|
+
onDelete,
|
|
17
|
+
store,
|
|
18
|
+
teamDid
|
|
19
|
+
}) {
|
|
20
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
21
|
+
const open = Boolean(anchorEl);
|
|
22
|
+
const {
|
|
23
|
+
t
|
|
24
|
+
} = useLocaleContext();
|
|
25
|
+
const [showReconnectConfirm, setShowReconnectConfirm] = useState(false);
|
|
26
|
+
const handleOpenUrl = e => {
|
|
27
|
+
e.stopPropagation();
|
|
28
|
+
window.open(joinUrl(store.url, 'developer/blocklets'));
|
|
29
|
+
window.open(store.url);
|
|
30
|
+
};
|
|
31
|
+
const handleOpen = event => {
|
|
32
|
+
setAnchorEl(event.currentTarget);
|
|
33
|
+
};
|
|
34
|
+
const handleClose = () => {
|
|
35
|
+
setAnchorEl(null);
|
|
36
|
+
};
|
|
37
|
+
const actions = [{
|
|
38
|
+
label: t('common.visitStore'),
|
|
39
|
+
action: handleOpenUrl,
|
|
40
|
+
icon: LaunchIcon
|
|
41
|
+
}, {
|
|
42
|
+
label: t('common.reconnect'),
|
|
43
|
+
action: () => {
|
|
44
|
+
handleClose();
|
|
45
|
+
setShowReconnectConfirm(true);
|
|
46
|
+
},
|
|
47
|
+
icon: LinkOutlinedIcon,
|
|
48
|
+
hidden: !connected
|
|
49
|
+
}];
|
|
50
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
51
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
52
|
+
ref: anchorEl,
|
|
53
|
+
color: "primary",
|
|
54
|
+
onClick: handleOpen,
|
|
55
|
+
size: "small",
|
|
56
|
+
children: /*#__PURE__*/_jsx(MoreVertIcon, {
|
|
57
|
+
sx: {
|
|
58
|
+
zoom: 0.95
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
}), /*#__PURE__*/_jsxs(Menu, {
|
|
62
|
+
anchorEl: anchorEl,
|
|
63
|
+
open: open,
|
|
64
|
+
onClose: handleClose,
|
|
65
|
+
anchorOrigin: {
|
|
66
|
+
vertical: 'bottom',
|
|
67
|
+
horizontal: 'center'
|
|
68
|
+
},
|
|
69
|
+
transformOrigin: {
|
|
70
|
+
vertical: 'top',
|
|
71
|
+
horizontal: 'center'
|
|
72
|
+
},
|
|
73
|
+
children: [actions.map(x => {
|
|
74
|
+
if (x.hidden) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
return /*#__PURE__*/_jsxs(MenuItem, {
|
|
78
|
+
dense: true,
|
|
79
|
+
onClick: x.action,
|
|
80
|
+
disabled: x.disabled,
|
|
81
|
+
children: [x.icon && /*#__PURE__*/_jsx(x.icon, {
|
|
82
|
+
color: "action",
|
|
83
|
+
sx: {
|
|
84
|
+
marginRight: 1
|
|
85
|
+
}
|
|
86
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
87
|
+
color: "action",
|
|
88
|
+
children: x.label
|
|
89
|
+
})]
|
|
90
|
+
}, x.label);
|
|
91
|
+
}), /*#__PURE__*/_jsx(DeleteStore, {
|
|
92
|
+
store: store,
|
|
93
|
+
onDelete: onDelete,
|
|
94
|
+
teamDid: teamDid,
|
|
95
|
+
children: /*#__PURE__*/_jsxs(MenuItem, {
|
|
96
|
+
dense: true,
|
|
97
|
+
disabled: store.protected,
|
|
98
|
+
children: [/*#__PURE__*/_jsx(DeleteOutlineIcon, {
|
|
99
|
+
color: "action",
|
|
100
|
+
sx: {
|
|
101
|
+
marginRight: 1
|
|
102
|
+
}
|
|
103
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
104
|
+
color: "action",
|
|
105
|
+
children: t('common.delete')
|
|
106
|
+
})]
|
|
107
|
+
})
|
|
108
|
+
})]
|
|
109
|
+
}), showReconnectConfirm && /*#__PURE__*/_jsx(ConfirmDialog, {
|
|
110
|
+
title: `${t('common.reconnect')} ${store.name}`,
|
|
111
|
+
description: t('blocklet.publish.reconnectStoreTip'),
|
|
112
|
+
confirm: t('common.confirm'),
|
|
113
|
+
onConfirm: onConnect,
|
|
114
|
+
onCancel: () => setShowReconnectConfirm(false)
|
|
115
|
+
})]
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
ConnectActions.propTypes = {
|
|
119
|
+
connected: PropTypes.bool,
|
|
120
|
+
onConnect: PropTypes.func,
|
|
121
|
+
onDelete: PropTypes.func,
|
|
122
|
+
store: PropTypes.object.isRequired,
|
|
123
|
+
teamDid: PropTypes.string.isRequired
|
|
124
|
+
};
|
|
125
|
+
ConnectActions.defaultProps = {
|
|
126
|
+
connected: false,
|
|
127
|
+
onConnect: () => {},
|
|
128
|
+
onDelete: () => {}
|
|
129
|
+
};
|
|
130
|
+
export default ConnectActions;
|
package/es/store/delete.js
CHANGED
|
@@ -12,7 +12,8 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
12
12
|
export default function DeleteStore({
|
|
13
13
|
store,
|
|
14
14
|
teamDid,
|
|
15
|
-
onDelete
|
|
15
|
+
onDelete,
|
|
16
|
+
children
|
|
16
17
|
}) {
|
|
17
18
|
const {
|
|
18
19
|
api
|
|
@@ -66,7 +67,10 @@ export default function DeleteStore({
|
|
|
66
67
|
setConfirmSetting(setting);
|
|
67
68
|
};
|
|
68
69
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
69
|
-
children: [/*#__PURE__*/_jsx(
|
|
70
|
+
children: [children ? /*#__PURE__*/_jsx("span", {
|
|
71
|
+
onClick: onMenuItemClick,
|
|
72
|
+
children: children
|
|
73
|
+
}) : /*#__PURE__*/_jsx(Button, {
|
|
70
74
|
color: "primary",
|
|
71
75
|
disabled: loading,
|
|
72
76
|
onClick: onMenuItemClick,
|
|
@@ -90,10 +94,12 @@ export default function DeleteStore({
|
|
|
90
94
|
});
|
|
91
95
|
}
|
|
92
96
|
DeleteStore.propTypes = {
|
|
97
|
+
children: PropTypes.node,
|
|
93
98
|
teamDid: PropTypes.string.isRequired,
|
|
94
99
|
store: PropTypes.object.isRequired,
|
|
95
100
|
onDelete: PropTypes.func
|
|
96
101
|
};
|
|
97
102
|
DeleteStore.defaultProps = {
|
|
103
|
+
children: null,
|
|
98
104
|
onDelete: () => {}
|
|
99
105
|
};
|
package/es/store/item.js
CHANGED
|
@@ -12,6 +12,7 @@ import Toast from '@arcblock/ux/lib/Toast';
|
|
|
12
12
|
import DeleteStore from './delete';
|
|
13
13
|
import { useNodeContext } from '../contexts/node';
|
|
14
14
|
import { formatError } from '../util';
|
|
15
|
+
import ConnectActions from './connect-actions';
|
|
15
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
17
|
const useStyles = makeStyles(() => ({
|
|
17
18
|
buttonText: {
|
|
@@ -207,17 +208,12 @@ export default function StoreItem({
|
|
|
207
208
|
marginRight: 1
|
|
208
209
|
}
|
|
209
210
|
}), t('common.upload')]
|
|
210
|
-
}), /*#__PURE__*/_jsx(
|
|
211
|
-
|
|
212
|
-
children: /*#__PURE__*/_jsx(LaunchIcon, {
|
|
213
|
-
sx: {
|
|
214
|
-
zoom: 0.9
|
|
215
|
-
}
|
|
216
|
-
})
|
|
217
|
-
}), !store.protected && /*#__PURE__*/_jsx(DeleteStore, {
|
|
211
|
+
}), /*#__PURE__*/_jsx(ConnectActions, {
|
|
212
|
+
connected: connected,
|
|
218
213
|
store: store,
|
|
219
214
|
onDelete: onDelete,
|
|
220
|
-
teamDid: teamDid
|
|
215
|
+
teamDid: teamDid,
|
|
216
|
+
onConnect: handleConnectToStore
|
|
221
217
|
})]
|
|
222
218
|
}), !isPublish && /*#__PURE__*/_jsxs(ButtonGroup, {
|
|
223
219
|
disabled: loading,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import joinUrl from 'url-join';
|
|
2
|
+
const joinUrlKeepSearch = (originalUrl, path) => {
|
|
3
|
+
if (!originalUrl) {
|
|
4
|
+
return '';
|
|
5
|
+
}
|
|
6
|
+
if (!path) {
|
|
7
|
+
return originalUrl;
|
|
8
|
+
}
|
|
9
|
+
const url = new URL(originalUrl);
|
|
10
|
+
const searchParams = new URLSearchParams(url.searchParams);
|
|
11
|
+
const newPath = new URL(joinUrl(url.origin, path));
|
|
12
|
+
newPath.search = searchParams.toString();
|
|
13
|
+
return newPath.toString();
|
|
14
|
+
};
|
|
15
|
+
export default joinUrlKeepSearch;
|