@abtnode/ux 1.16.29-beta-0c32fe15 → 1.16.29-beta-ec04c755
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/blocklet/publish/create-release/branding.js +1 -1
- package/lib/blocklet/publish/create-release/header.js +54 -21
- package/lib/blocklet/publish/utils/wait-connect.js +18 -5
- package/lib/hooks/use-promise-window-open.js +27 -4
- package/lib/locales/ar.js +1 -2
- package/lib/locales/de.js +1 -2
- package/lib/locales/en.js +2 -3
- package/lib/locales/es.js +1 -2
- package/lib/locales/fr.js +1 -2
- package/lib/locales/hi.js +1 -2
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +1 -2
- package/lib/locales/ja.js +1 -2
- package/lib/locales/ko.js +1 -2
- package/lib/locales/pt.js +1 -2
- package/lib/locales/ru.js +1 -2
- package/lib/locales/th.js +1 -2
- package/lib/locales/vi.js +1 -2
- package/lib/locales/zh-tw.js +1 -2
- package/lib/locales/zh.js +1 -2
- package/lib/store/item.js +7 -3
- package/package.json +12 -12
|
@@ -48,6 +48,7 @@ function Branding({
|
|
|
48
48
|
const uploaderScreenshotRef = useRef(null);
|
|
49
49
|
const [wantToConnectStore, setWantToConnectStore] = useWantToConnectStore(blocklet);
|
|
50
50
|
const openWindow = usePromiseWindowOpen({
|
|
51
|
+
messageType: 'connect-store-message',
|
|
51
52
|
onOpen: () => setLoading(true),
|
|
52
53
|
onClose: () => setLoading(false)
|
|
53
54
|
});
|
|
@@ -104,7 +105,6 @@ function Branding({
|
|
|
104
105
|
} catch (err) {
|
|
105
106
|
const error = formatError(err);
|
|
106
107
|
Toast.error(error);
|
|
107
|
-
newWindow.document.write(error);
|
|
108
108
|
setLoading(false);
|
|
109
109
|
}
|
|
110
110
|
});
|
|
@@ -62,6 +62,7 @@ function Header({
|
|
|
62
62
|
const [showStoreDialog, setShowStoreDialog] = useState(false);
|
|
63
63
|
const [installResourceTip, setInstallResourceTip] = useState();
|
|
64
64
|
const isMobile = useMediaQuery(theme => theme.breakpoints.down('md'));
|
|
65
|
+
const releaseType = params?.blockletComponents?.length > 0 ? 'pack' : 'resource';
|
|
65
66
|
const onPublish = () => {
|
|
66
67
|
window.parent.postMessage({
|
|
67
68
|
event: 'studioDialog.uploaded',
|
|
@@ -178,15 +179,19 @@ function Header({
|
|
|
178
179
|
_params.note = (_params.note || '').trim();
|
|
179
180
|
_params.blockletComponents = (_params?.blockletComponents || []).filter(x => x.included).map(x => pick(x, ['did', 'required'])).map(JSON.stringify);
|
|
180
181
|
setLoading(true);
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
182
|
+
let newReleased = releaseId;
|
|
183
|
+
try {
|
|
184
|
+
const res = await api.createRelease({
|
|
185
|
+
input: {
|
|
186
|
+
..._params,
|
|
187
|
+
did: blocklet.meta.did,
|
|
188
|
+
projectId,
|
|
189
|
+
releaseId: releaseUsedLast ? '' : releaseId,
|
|
190
|
+
status
|
|
191
|
+
}
|
|
192
|
+
}).finally(() => {
|
|
193
|
+
setLoading(false);
|
|
194
|
+
});
|
|
190
195
|
if (status === 'draft') {
|
|
191
196
|
Toast.success(t('blocklet.publish.saveDraftSuccess'));
|
|
192
197
|
} else {
|
|
@@ -208,14 +213,9 @@ function Header({
|
|
|
208
213
|
note: ''
|
|
209
214
|
});
|
|
210
215
|
if (mode === 'create' || mode === 'new-release') {
|
|
211
|
-
|
|
212
|
-
navigate(`../${projectId}/view/${id}`, {
|
|
213
|
-
replace: true
|
|
214
|
-
});
|
|
215
|
-
} else {
|
|
216
|
-
getRelease();
|
|
216
|
+
newReleased = res?.release?.id;
|
|
217
217
|
}
|
|
218
|
-
}
|
|
218
|
+
} catch (err) {
|
|
219
219
|
const msg = formatError(err);
|
|
220
220
|
Toast.error(msg);
|
|
221
221
|
if (/resource/.test(msg) || /zip/.test(msg)) {
|
|
@@ -223,9 +223,42 @@ function Header({
|
|
|
223
223
|
blockletResource: msg
|
|
224
224
|
});
|
|
225
225
|
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
|
|
226
|
+
}
|
|
227
|
+
for (const store of params.connectedStores) {
|
|
228
|
+
try {
|
|
229
|
+
// eslint-disable-next-line no-await-in-loop
|
|
230
|
+
const res = await api.publishToStore({
|
|
231
|
+
input: {
|
|
232
|
+
did: blocklet.meta.did,
|
|
233
|
+
storeId: store.storeId,
|
|
234
|
+
storeName: store.storeName,
|
|
235
|
+
projectId,
|
|
236
|
+
releaseId: newReleased,
|
|
237
|
+
type: releaseType
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
if (res.url === 'uploaded') {
|
|
241
|
+
Toast.success(t('blocklet.publish.uploadToStoreSuccess', {
|
|
242
|
+
name: store.storeName
|
|
243
|
+
}));
|
|
244
|
+
} else if (res.url === 'published') {
|
|
245
|
+
Toast.success(t('blocklet.publish.publishToStoreSuccess', {
|
|
246
|
+
name: store.storeName
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
} catch (err) {
|
|
250
|
+
Toast.error(formatError(err));
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
onPublish?.();
|
|
254
|
+
if (mode === 'create' || mode === 'new-release') {
|
|
255
|
+
navigate(`../${projectId}/view/${newReleased}`, {
|
|
256
|
+
replace: true
|
|
257
|
+
});
|
|
258
|
+
} else {
|
|
259
|
+
getRelease();
|
|
260
|
+
}
|
|
261
|
+
setLoading(false);
|
|
229
262
|
};
|
|
230
263
|
const onOpenConnectStore = async param => {
|
|
231
264
|
await waitGetConnectedStore(api, param);
|
|
@@ -379,7 +412,7 @@ function Header({
|
|
|
379
412
|
fontSize: '1.3em',
|
|
380
413
|
marginRight: 4
|
|
381
414
|
}
|
|
382
|
-
}), isMobile ? t('common.upload') : t('
|
|
415
|
+
}), isMobile ? t('common.upload') : t('blocklet.publish.connectOrUpload')]
|
|
383
416
|
})]
|
|
384
417
|
})]
|
|
385
418
|
})
|
|
@@ -393,7 +426,7 @@ function Header({
|
|
|
393
426
|
children: /*#__PURE__*/_jsx(ConnectStoreList, {
|
|
394
427
|
projectType: projectType,
|
|
395
428
|
blocklet: blocklet,
|
|
396
|
-
releaseType:
|
|
429
|
+
releaseType: releaseType,
|
|
397
430
|
projectId: projectId,
|
|
398
431
|
releaseId: releaseId,
|
|
399
432
|
componentDid: componentDid,
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const timers = {};
|
|
2
|
+
async function waitPromiseFunction(promiseFunction, {
|
|
3
|
+
interval = 1000,
|
|
4
|
+
maxDuration = 120 * 1000,
|
|
5
|
+
intervalFirst = 4000,
|
|
6
|
+
timerKey = ''
|
|
7
|
+
}) {
|
|
8
|
+
if (timers[timerKey]) {
|
|
9
|
+
clearTimeout(timers[timerKey]);
|
|
10
|
+
}
|
|
4
11
|
// eslint-disable-next-line no-promise-executor-return
|
|
5
12
|
await new Promise(resolve => setTimeout(resolve, intervalFirst));
|
|
13
|
+
const start = Date.now();
|
|
6
14
|
const poll = async (resolve, reject) => {
|
|
7
15
|
try {
|
|
8
16
|
const data = await promiseFunction();
|
|
9
17
|
resolve(data);
|
|
10
18
|
} catch (error) {
|
|
11
|
-
|
|
12
|
-
if (attempts >= maxAttempts) {
|
|
19
|
+
if (Date.now() - start > maxDuration) {
|
|
13
20
|
reject(error);
|
|
21
|
+
} else if (timerKey) {
|
|
22
|
+
timers[timerKey] = setTimeout(() => poll(resolve, reject), interval);
|
|
14
23
|
} else {
|
|
15
24
|
setTimeout(() => poll(resolve, reject), interval);
|
|
16
25
|
}
|
|
@@ -38,6 +47,8 @@ export function waitGetConnectedByStudio(api, {
|
|
|
38
47
|
throw new Error('Connected store not found');
|
|
39
48
|
}
|
|
40
49
|
return res.project.blockletDid;
|
|
50
|
+
}, {
|
|
51
|
+
timerKey: 'connect-studio'
|
|
41
52
|
});
|
|
42
53
|
}
|
|
43
54
|
export function waitGetConnectedStore(api, {
|
|
@@ -60,5 +71,7 @@ export function waitGetConnectedStore(api, {
|
|
|
60
71
|
if (!newStore) {
|
|
61
72
|
throw new Error('Connected store not found');
|
|
62
73
|
}
|
|
74
|
+
}, {
|
|
75
|
+
timerKey: `connect-store-${storeId}`
|
|
63
76
|
});
|
|
64
77
|
}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { WELLKNOWN_SERVICE_PATH_PREFIX } from '@abtnode/constant';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import Toast from '@arcblock/ux/lib/Toast';
|
|
3
|
+
import { useMemoizedFn } from 'ahooks';
|
|
4
|
+
import { useEffect, useRef } from 'react';
|
|
6
5
|
function usePromiseWindowOpen({
|
|
6
|
+
messageType,
|
|
7
7
|
onOpen,
|
|
8
8
|
onClose
|
|
9
9
|
}) {
|
|
10
10
|
const windowRef = useRef(null);
|
|
11
11
|
const timer = useRef(null);
|
|
12
12
|
const openWindow = async fn => {
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
try {
|
|
15
|
+
onClose?.();
|
|
16
|
+
} catch (error) {
|
|
17
|
+
//
|
|
18
|
+
}
|
|
19
|
+
}, 10 * 1000);
|
|
13
20
|
if (windowRef.current) {
|
|
14
21
|
clearInterval(timer.current);
|
|
15
22
|
windowRef.current.close();
|
|
@@ -38,6 +45,22 @@ function usePromiseWindowOpen({
|
|
|
38
45
|
windowRef.current.location.href = url;
|
|
39
46
|
}));
|
|
40
47
|
};
|
|
48
|
+
const listen = useMemoizedFn(event => {
|
|
49
|
+
const {
|
|
50
|
+
type,
|
|
51
|
+
error
|
|
52
|
+
} = event.data;
|
|
53
|
+
if (windowRef.current && type === messageType && error) {
|
|
54
|
+
Toast.error(error);
|
|
55
|
+
onClose?.();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
window.addEventListener('message', listen);
|
|
60
|
+
return () => {
|
|
61
|
+
window.removeEventListener('message', listen);
|
|
62
|
+
};
|
|
63
|
+
}, [listen]);
|
|
41
64
|
return openWindow;
|
|
42
65
|
}
|
|
43
66
|
export default usePromiseWindowOpen;
|
package/lib/locales/ar.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'وسوم',
|
|
344
344
|
connectToStore: 'الاتصال بالمتجر',
|
|
345
345
|
uploaded: 'تم التحميل',
|
|
346
|
-
uploadToStore: 'تحميل إلى المتجر',
|
|
347
346
|
upload: 'تحميل',
|
|
348
347
|
blockletStudio: 'استوديو',
|
|
349
348
|
visitStore: 'زيارة المتجر',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'احذف {name}',
|
|
703
702
|
copyInstallUrl: 'انسخ عنوان URL للتثبيت',
|
|
704
703
|
install: 'تثبيت {name}',
|
|
705
|
-
publishToStoreSuccess: 'تم نشر
|
|
704
|
+
publishToStoreSuccess: 'تم نشر البلوكليت بنجاح إلى {name}',
|
|
706
705
|
connectStoreSuccess: 'تم الاتصال بمتجر البلوكليت بنجاح',
|
|
707
706
|
uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر',
|
|
708
707
|
viewLastRelease: 'عرض آخر إصدار',
|
package/lib/locales/de.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'Tags',
|
|
344
344
|
connectToStore: 'Verbinden Sie mit dem Geschäft',
|
|
345
345
|
uploaded: 'Hochgeladen',
|
|
346
|
-
uploadToStore: 'Upload in den Shop',
|
|
347
346
|
upload: 'Hochladen',
|
|
348
347
|
blockletStudio: 'Studio',
|
|
349
348
|
visitStore: 'Besuche den Laden',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'Lösche {name}',
|
|
703
702
|
copyInstallUrl: 'Kopiere Installations-URL',
|
|
704
703
|
install: 'Installiere {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet erfolgreich
|
|
704
|
+
publishToStoreSuccess: 'Blocklet erfolgreich veröffentlicht an {name}',
|
|
706
705
|
connectStoreSuccess: 'Blocklet Store erfolgreich verbunden',
|
|
707
706
|
uploadToStoreSuccess: 'Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen',
|
|
708
707
|
viewLastRelease: 'Letzte Version anzeigen',
|
package/lib/locales/en.js
CHANGED
|
@@ -167,7 +167,6 @@ export default {
|
|
|
167
167
|
domain: 'Domain',
|
|
168
168
|
downgradeTo: 'Downgrade to',
|
|
169
169
|
download: 'Download',
|
|
170
|
-
uploadToStore: 'Upload to Store',
|
|
171
170
|
connectToStore: 'Connect to Store',
|
|
172
171
|
blockletStudio: 'Studio',
|
|
173
172
|
uploaded: 'Uploaded',
|
|
@@ -739,8 +738,8 @@ export default {
|
|
|
739
738
|
noDescription: 'Blocklet Description is required',
|
|
740
739
|
noNote: 'Release Note is required'
|
|
741
740
|
},
|
|
742
|
-
uploadToStoreSuccess: 'Blocklet upload to
|
|
743
|
-
publishToStoreSuccess: 'Blocklet published to
|
|
741
|
+
uploadToStoreSuccess: 'Blocklet upload to {name} successfully, you need publish it in the Store',
|
|
742
|
+
publishToStoreSuccess: 'Blocklet published to {name} successfully',
|
|
744
743
|
connectStoreSuccess: 'Blocklet Store connected successfully'
|
|
745
744
|
}
|
|
746
745
|
},
|
package/lib/locales/es.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'Etiquetas',
|
|
344
344
|
connectToStore: 'Conectar a la tienda',
|
|
345
345
|
uploaded: 'Subido',
|
|
346
|
-
uploadToStore: 'Subir a la tienda',
|
|
347
346
|
upload: 'Subir',
|
|
348
347
|
blockletStudio: 'Estudio',
|
|
349
348
|
visitStore: 'Visitar tienda',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'Eliminar {name}',
|
|
703
702
|
copyInstallUrl: 'Copiar URL de instalación',
|
|
704
703
|
install: 'Instalar {name}',
|
|
705
|
-
publishToStoreSuccess: 'Bloque publicado en
|
|
704
|
+
publishToStoreSuccess: 'Bloque publicado en {name} exitosamente',
|
|
706
705
|
connectStoreSuccess: 'La tienda de Blocklet se conectó correctamente',
|
|
707
706
|
uploadToStoreSuccess: 'Bloque de carga a la tienda exitosamente, necesitas publicarlo en la tienda',
|
|
708
707
|
viewLastRelease: 'Ver última versión',
|
package/lib/locales/fr.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'Étiquettes',
|
|
344
344
|
connectToStore: 'Se connecter au magasin',
|
|
345
345
|
uploaded: 'Téléchargé',
|
|
346
|
-
uploadToStore: 'Télécharger vers le magasin',
|
|
347
346
|
upload: 'Télécharger',
|
|
348
347
|
blockletStudio: 'Studio',
|
|
349
348
|
visitStore: 'Visiter le magasin',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'Supprimez {name}',
|
|
703
702
|
copyInstallUrl: "Copier l'URL d'installation",
|
|
704
703
|
install: 'Installer {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet publié avec succès
|
|
704
|
+
publishToStoreSuccess: 'Blocklet publié avec succès sur {name}',
|
|
706
705
|
connectStoreSuccess: 'Connexion réussie au Blocklet Store',
|
|
707
706
|
uploadToStoreSuccess: 'Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store',
|
|
708
707
|
viewLastRelease: 'Voir la dernière version',
|
package/lib/locales/hi.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'टैग्स',
|
|
344
344
|
connectToStore: 'स्टोर से जुड़ें',
|
|
345
345
|
uploaded: 'अपलोड किया गया',
|
|
346
|
-
uploadToStore: 'स्टोर में अपलोड करें',
|
|
347
346
|
upload: 'अपलोड करें',
|
|
348
347
|
blockletStudio: 'स्टूडियो',
|
|
349
348
|
visitStore: 'स्टोर को देखें',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: '{नाम} को हटाएं',
|
|
703
702
|
copyInstallUrl: 'संपादित स्थापित URL की प्रतिलिपि',
|
|
704
703
|
install: '{name} स्थापित करें',
|
|
705
|
-
publishToStoreSuccess: '
|
|
704
|
+
publishToStoreSuccess: '{name} में ब्लॉकलेट सफलतापूर्वक प्रकाशित किया गया',
|
|
706
705
|
connectStoreSuccess: 'ब्लॉकलेट स्टोर सफलतापूर्वक कनेक्ट हो गया',
|
|
707
706
|
uploadToStoreSuccess: 'ब्लॉकलेट को स्टोर में सफलतापूर्वक अपलोड किया गया है, आपको इसे स्टोर में प्रकाशित करने की आवश्यकता है',
|
|
708
707
|
viewLastRelease: 'अंतिम रिलीज़ देखें',
|
package/lib/locales/i18n.db
CHANGED
|
Binary file
|
package/lib/locales/id.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'Tags',
|
|
344
344
|
connectToStore: 'Terhubung ke Toko',
|
|
345
345
|
uploaded: 'Diunggah',
|
|
346
|
-
uploadToStore: 'Unggah ke Toko',
|
|
347
346
|
upload: 'Unggah',
|
|
348
347
|
blockletStudio: 'Studio',
|
|
349
348
|
visitStore: 'Kunjungi Toko',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'Hapus {name}',
|
|
703
702
|
copyInstallUrl: 'Salin URL Instalasi',
|
|
704
703
|
install: 'Pasang {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet berhasil
|
|
704
|
+
publishToStoreSuccess: 'Blocklet berhasil diterbitkan ke {name}',
|
|
706
705
|
connectStoreSuccess: 'Penyimpanan Blocklet berhasil terhubung',
|
|
707
706
|
uploadToStoreSuccess: 'Blocklet berhasil diunggah ke Store, Anda perlu mempublikasikannya di Store',
|
|
708
707
|
viewLastRelease: 'Tampilkan rilis terakhir',
|
package/lib/locales/ja.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'タグ',
|
|
344
344
|
connectToStore: 'ストアに接続する',
|
|
345
345
|
uploaded: 'アップロードされました',
|
|
346
|
-
uploadToStore: 'ストアにアップロード',
|
|
347
346
|
upload: 'アップロード',
|
|
348
347
|
blockletStudio: 'スタジオ',
|
|
349
348
|
visitStore: '店を訪れる',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: '削除 {name}',
|
|
703
702
|
copyInstallUrl: 'インストールURLをコピーする',
|
|
704
703
|
install: '{name}をインストールする',
|
|
705
|
-
publishToStoreSuccess: '
|
|
704
|
+
publishToStoreSuccess: '{name} にブロックが正常に公開されました',
|
|
706
705
|
connectStoreSuccess: 'Blockletストアが正常に接続されました',
|
|
707
706
|
uploadToStoreSuccess: 'ブロックレットがストアに正常にアップロードされました。ストアで公開する必要があります',
|
|
708
707
|
viewLastRelease: '最新リリースを表示する',
|
package/lib/locales/ko.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: '태그',
|
|
344
344
|
connectToStore: '상점에 연결하기',
|
|
345
345
|
uploaded: '업로드되었습니다',
|
|
346
|
-
uploadToStore: '스토어에 업로드',
|
|
347
346
|
upload: '업로드',
|
|
348
347
|
blockletStudio: '스튜디오',
|
|
349
348
|
visitStore: '가게 방문하기',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: '{name} 삭제',
|
|
703
702
|
copyInstallUrl: '설치 URL 복사하기',
|
|
704
703
|
install: '{name}을(를) 설치하세요',
|
|
705
|
-
publishToStoreSuccess: '
|
|
704
|
+
publishToStoreSuccess: '{name}에 성공적으로 블록릿이 발행되었습니다',
|
|
706
705
|
connectStoreSuccess: '블록렛 스토어가 성공적으로 연결되었습니다',
|
|
707
706
|
uploadToStoreSuccess: '블록렛이 성공적으로 스토어에 업로드되었습니다. 스토어에서 게시해야 합니다',
|
|
708
707
|
viewLastRelease: '최신 릴리스 보기',
|
package/lib/locales/pt.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'Tags',
|
|
344
344
|
connectToStore: 'Conectar à Loja',
|
|
345
345
|
uploaded: 'Carregado',
|
|
346
|
-
uploadToStore: 'Enviar para a Loja',
|
|
347
346
|
upload: 'Upload',
|
|
348
347
|
blockletStudio: 'Estúdio',
|
|
349
348
|
visitStore: 'Visite a loja',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'Excluir {name}',
|
|
703
702
|
copyInstallUrl: 'Copiar URL de instalação',
|
|
704
703
|
install: 'Instale {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet publicado
|
|
704
|
+
publishToStoreSuccess: 'Blocklet publicado para {name} com sucesso',
|
|
706
705
|
connectStoreSuccess: 'Loja de Blocos conectada com sucesso',
|
|
707
706
|
uploadToStoreSuccess: 'Blocklet enviado para a Store com sucesso, você precisa publicá-lo na Store',
|
|
708
707
|
viewLastRelease: 'Visualizar última versão',
|
package/lib/locales/ru.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'Метки',
|
|
344
344
|
connectToStore: 'Подключитесь к магазину',
|
|
345
345
|
uploaded: 'Загружено',
|
|
346
|
-
uploadToStore: 'Загрузить в магазин',
|
|
347
346
|
upload: 'Загрузить',
|
|
348
347
|
blockletStudio: 'Студия',
|
|
349
348
|
visitStore: 'Посетите магазин',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'Удалить {name}',
|
|
703
702
|
copyInstallUrl: 'Скопируйте URL для установки',
|
|
704
703
|
install: 'Установить {name}',
|
|
705
|
-
publishToStoreSuccess: 'Блоклет успешно опубликован
|
|
704
|
+
publishToStoreSuccess: 'Блоклет успешно опубликован на {name}',
|
|
706
705
|
connectStoreSuccess: 'Успешное подключение к Blocklet Store',
|
|
707
706
|
uploadToStoreSuccess: 'Блоклет успешно загружен в магазин, вам нужно опубликовать его в магазине',
|
|
708
707
|
viewLastRelease: 'Просмотр последнего релиза',
|
package/lib/locales/th.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'แท็ก',
|
|
344
344
|
connectToStore: 'เชื่อมต่อกับร้านค้า',
|
|
345
345
|
uploaded: 'อัปโหลดแล้ว',
|
|
346
|
-
uploadToStore: 'อัปโหลดไปยังร้านค้า',
|
|
347
346
|
upload: 'อัปโหลด',
|
|
348
347
|
blockletStudio: 'สตูดิโอ',
|
|
349
348
|
visitStore: 'เยี่ยมชมร้านค้า',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'ลบ {name}',
|
|
703
702
|
copyInstallUrl: 'คัดลอก URL การติดตั้ง',
|
|
704
703
|
install: 'ติดตั้ง {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet
|
|
704
|
+
publishToStoreSuccess: 'Blocklet ได้เผยแพร่ไปยัง {name} สำเร็จ',
|
|
706
705
|
connectStoreSuccess: 'เชื่อมต่อ Blocklet Store สำเร็จ',
|
|
707
706
|
uploadToStoreSuccess: 'อัพโหลด Blocklet เข้าสู่ Store สำเร็จแล้ว คุณต้องเผยแพร่ในร้านค้า',
|
|
708
707
|
viewLastRelease: 'ดูรายการอัพเดตล่าสุด',
|
package/lib/locales/vi.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: 'Tags',
|
|
344
344
|
connectToStore: 'Kết nối tới Cửa hàng',
|
|
345
345
|
uploaded: 'Đã tải lên',
|
|
346
|
-
uploadToStore: 'Tải lên Cửa hàng',
|
|
347
346
|
upload: 'Tải lên',
|
|
348
347
|
blockletStudio: 'Studio',
|
|
349
348
|
visitStore: 'Ghé cửa hàng',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: 'Xóa {name}',
|
|
703
702
|
copyInstallUrl: 'Sao chép URL cài đặt',
|
|
704
703
|
install: 'Cài đặt {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet đã được xuất bản
|
|
704
|
+
publishToStoreSuccess: 'Blocklet đã được xuất bản thành công cho {name}',
|
|
706
705
|
connectStoreSuccess: 'Kết nối Blocklet Store thành công',
|
|
707
706
|
uploadToStoreSuccess: 'Blocklet đã tải lên Store thành công, bạn cần phải xuất bản nó trong Store',
|
|
708
707
|
viewLastRelease: 'Xem phiên bản phát hành gần đây nhất',
|
package/lib/locales/zh-tw.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: '標籤',
|
|
344
344
|
connectToStore: '連接至商店',
|
|
345
345
|
uploaded: '已上傳',
|
|
346
|
-
uploadToStore: '上傳至 Store',
|
|
347
346
|
upload: '上傳',
|
|
348
347
|
blockletStudio: 'Studio',
|
|
349
348
|
visitStore: '訪問 Store',
|
|
@@ -702,7 +701,7 @@ export default {
|
|
|
702
701
|
delete: '刪除 {name}',
|
|
703
702
|
copyInstallUrl: '複製安裝連結',
|
|
704
703
|
install: '安裝{name}',
|
|
705
|
-
publishToStoreSuccess: '
|
|
704
|
+
publishToStoreSuccess: '{name} 成功發佈區塊',
|
|
706
705
|
connectStoreSuccess: 'Store 連線成功',
|
|
707
706
|
uploadToStoreSuccess: 'Blocklet 成功上傳至 Store,請在 Store 中發布',
|
|
708
707
|
viewLastRelease: '查看最新版本',
|
package/lib/locales/zh.js
CHANGED
|
@@ -343,7 +343,6 @@ export default {
|
|
|
343
343
|
tags: '标签',
|
|
344
344
|
connectToStore: '连接 Store',
|
|
345
345
|
uploaded: '已上传',
|
|
346
|
-
uploadToStore: '上传到 Store',
|
|
347
346
|
upload: '上传',
|
|
348
347
|
blockletStudio: 'Studio',
|
|
349
348
|
visitStore: '访问 Store',
|
|
@@ -704,7 +703,7 @@ export default {
|
|
|
704
703
|
delete: '删除 {name}',
|
|
705
704
|
copyInstallUrl: '复制安装链接',
|
|
706
705
|
install: '安装 {name}',
|
|
707
|
-
publishToStoreSuccess: '
|
|
706
|
+
publishToStoreSuccess: '{name} 成功发布区块',
|
|
708
707
|
connectStoreSuccess: 'Blocklet 成功连接 Store',
|
|
709
708
|
uploadToStoreSuccess: 'Blocklet 成功上传至 Store,请在 Store 中发布',
|
|
710
709
|
viewLastRelease: '查看最新版本',
|
package/lib/store/item.js
CHANGED
|
@@ -115,6 +115,7 @@ export default function StoreItem({
|
|
|
115
115
|
} = useNodeContext();
|
|
116
116
|
const [loading, setLoading] = useState(false);
|
|
117
117
|
const openWindow = usePromiseWindowOpen({
|
|
118
|
+
messageType: 'connect-store-message',
|
|
118
119
|
onOpen: () => setLoading(true),
|
|
119
120
|
onClose: () => setLoading(false)
|
|
120
121
|
});
|
|
@@ -158,7 +159,6 @@ export default function StoreItem({
|
|
|
158
159
|
} catch (err) {
|
|
159
160
|
const error = formatError(err);
|
|
160
161
|
Toast.error(error);
|
|
161
|
-
newWindow.document.write(error);
|
|
162
162
|
setLoading(false);
|
|
163
163
|
}
|
|
164
164
|
});
|
|
@@ -191,9 +191,13 @@ export default function StoreItem({
|
|
|
191
191
|
}
|
|
192
192
|
}).then(res => {
|
|
193
193
|
if (res.url === 'uploaded') {
|
|
194
|
-
Toast.success(t('blocklet.publish.uploadToStoreSuccess'
|
|
194
|
+
Toast.success(t('blocklet.publish.uploadToStoreSuccess', {
|
|
195
|
+
name: store.name
|
|
196
|
+
}));
|
|
195
197
|
} else if (res.url === 'published') {
|
|
196
|
-
Toast.success(t('blocklet.publish.publishToStoreSuccess'
|
|
198
|
+
Toast.success(t('blocklet.publish.publishToStoreSuccess', {
|
|
199
|
+
name: store.name
|
|
200
|
+
}));
|
|
197
201
|
}
|
|
198
202
|
onPublish?.(null);
|
|
199
203
|
}).catch(err => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/ux",
|
|
3
|
-
"version": "1.16.29-beta-
|
|
3
|
+
"version": "1.16.29-beta-ec04c755",
|
|
4
4
|
"description": "UX components shared across abtnode packages",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,11 +25,11 @@
|
|
|
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.29-beta-
|
|
29
|
-
"@abtnode/constant": "1.16.29-beta-
|
|
30
|
-
"@abtnode/util": "1.16.29-beta-
|
|
28
|
+
"@abtnode/auth": "1.16.29-beta-ec04c755",
|
|
29
|
+
"@abtnode/constant": "1.16.29-beta-ec04c755",
|
|
30
|
+
"@abtnode/util": "1.16.29-beta-ec04c755",
|
|
31
31
|
"@ahooksjs/use-url-state": "^3.5.1",
|
|
32
|
-
"@arcblock/did": "^1.18.
|
|
32
|
+
"@arcblock/did": "^1.18.126",
|
|
33
33
|
"@arcblock/did-connect": "^2.10.3",
|
|
34
34
|
"@arcblock/did-motif": "^1.1.13",
|
|
35
35
|
"@arcblock/icons": "^2.10.3",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"@arcblock/react-hooks": "^2.10.3",
|
|
38
38
|
"@arcblock/terminal": "^2.10.3",
|
|
39
39
|
"@arcblock/ux": "^2.10.3",
|
|
40
|
-
"@blocklet/constant": "1.16.29-beta-
|
|
41
|
-
"@blocklet/js-sdk": "1.16.29-beta-
|
|
42
|
-
"@blocklet/launcher-layout": "2.3.
|
|
43
|
-
"@blocklet/list": "^0.13.
|
|
44
|
-
"@blocklet/meta": "1.16.29-beta-
|
|
40
|
+
"@blocklet/constant": "1.16.29-beta-ec04c755",
|
|
41
|
+
"@blocklet/js-sdk": "1.16.29-beta-ec04c755",
|
|
42
|
+
"@blocklet/launcher-layout": "2.3.28",
|
|
43
|
+
"@blocklet/list": "^0.13.8",
|
|
44
|
+
"@blocklet/meta": "1.16.29-beta-ec04c755",
|
|
45
45
|
"@blocklet/ui-react": "^2.10.3",
|
|
46
46
|
"@blocklet/uploader": "0.1.19",
|
|
47
47
|
"@emotion/react": "^11.10.4",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"@mui/styles": "^5.15.11",
|
|
57
57
|
"@mui/x-date-pickers": "^6.19.0",
|
|
58
58
|
"@mui/x-tree-view": "^6.17.0",
|
|
59
|
-
"@ocap/client": "1.18.
|
|
59
|
+
"@ocap/client": "1.18.126",
|
|
60
60
|
"@uiw/react-markdown-preview": "^5.1.1",
|
|
61
61
|
"ahooks": "^3.7.8",
|
|
62
62
|
"axios": "^1.7.2",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"jest": "^29.7.0",
|
|
109
109
|
"jest-environment-jsdom": "^29.7.0"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "8f3fcaf73830289f02dd86e8d22a2c86a79a34d8"
|
|
112
112
|
}
|