@abtnode/ux 1.16.29-beta-924d4db7 → 1.16.29-beta-87e06e1c
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 +71 -29
- package/lib/blocklet/publish/create-release/index.js +30 -17
- package/lib/blocklet/publish/create-release/uploaded-toast.js +51 -0
- 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 +3 -3
- package/lib/locales/de.js +2 -2
- package/lib/locales/en.js +1 -1
- package/lib/locales/es.js +3 -3
- package/lib/locales/fr.js +3 -3
- package/lib/locales/hi.js +3 -3
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +3 -3
- package/lib/locales/ja.js +3 -3
- package/lib/locales/ko.js +3 -3
- package/lib/locales/pt.js +3 -3
- package/lib/locales/ru.js +2 -2
- package/lib/locales/th.js +3 -3
- package/lib/locales/vi.js +3 -3
- package/lib/locales/zh-tw.js +3 -3
- package/lib/locales/zh.js +3 -3
- package/lib/store/item.js +11 -6
- 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
|
});
|
|
@@ -24,6 +24,7 @@ import ClickToCopy from '../../../click-to-copy';
|
|
|
24
24
|
import { formatError } from '../../../util';
|
|
25
25
|
import { useNodeContext } from '../../../contexts/node';
|
|
26
26
|
import ShortenLabel from '../../component/shorten-label';
|
|
27
|
+
import UploadedToast from './uploaded-toast';
|
|
27
28
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
28
29
|
const serverEndpoint = window.env?.serverEndpoint;
|
|
29
30
|
function Header({
|
|
@@ -62,6 +63,7 @@ function Header({
|
|
|
62
63
|
const [showStoreDialog, setShowStoreDialog] = useState(false);
|
|
63
64
|
const [installResourceTip, setInstallResourceTip] = useState();
|
|
64
65
|
const isMobile = useMediaQuery(theme => theme.breakpoints.down('md'));
|
|
66
|
+
const releaseType = params?.blockletComponents?.length > 0 ? 'pack' : 'resource';
|
|
65
67
|
const onPublish = () => {
|
|
66
68
|
window.parent.postMessage({
|
|
67
69
|
event: 'studioDialog.uploaded',
|
|
@@ -69,7 +71,7 @@ function Header({
|
|
|
69
71
|
}, '*');
|
|
70
72
|
getRelease();
|
|
71
73
|
};
|
|
72
|
-
const
|
|
74
|
+
const _onRelease = async status => {
|
|
73
75
|
const errors = validateParams({
|
|
74
76
|
params,
|
|
75
77
|
hasSelectedResources,
|
|
@@ -122,7 +124,6 @@ function Header({
|
|
|
122
124
|
});
|
|
123
125
|
return;
|
|
124
126
|
}
|
|
125
|
-
setLoading(true);
|
|
126
127
|
if (initLogoUrl) {
|
|
127
128
|
try {
|
|
128
129
|
const filename = await uploadImageToProject({
|
|
@@ -136,7 +137,6 @@ function Header({
|
|
|
136
137
|
});
|
|
137
138
|
} catch (err) {
|
|
138
139
|
Toast.error(err.message);
|
|
139
|
-
setLoading(false);
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -163,7 +163,6 @@ function Header({
|
|
|
163
163
|
});
|
|
164
164
|
} catch (err) {
|
|
165
165
|
Toast.error(err?.response?.data?.error?.message || err.message);
|
|
166
|
-
setLoading(false);
|
|
167
166
|
setParamsErrTip({
|
|
168
167
|
blockletResource: 'Invalid save the resource'
|
|
169
168
|
});
|
|
@@ -177,16 +176,16 @@ function Header({
|
|
|
177
176
|
_params.blockletIntroduction = (_params.blockletIntroduction || '').trim();
|
|
178
177
|
_params.note = (_params.note || '').trim();
|
|
179
178
|
_params.blockletComponents = (_params?.blockletComponents || []).filter(x => x.included).map(x => pick(x, ['did', 'required'])).map(JSON.stringify);
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
179
|
+
try {
|
|
180
|
+
await api.createRelease({
|
|
181
|
+
input: {
|
|
182
|
+
..._params,
|
|
183
|
+
did: blocklet.meta.did,
|
|
184
|
+
projectId,
|
|
185
|
+
releaseId: releaseUsedLast ? '' : releaseId,
|
|
186
|
+
status
|
|
187
|
+
}
|
|
188
|
+
});
|
|
190
189
|
if (status === 'draft') {
|
|
191
190
|
Toast.success(t('blocklet.publish.saveDraftSuccess'));
|
|
192
191
|
} else {
|
|
@@ -207,15 +206,7 @@ function Header({
|
|
|
207
206
|
blockletIntroduction: '',
|
|
208
207
|
note: ''
|
|
209
208
|
});
|
|
210
|
-
|
|
211
|
-
const id = res?.release?.id;
|
|
212
|
-
navigate(`../${projectId}/view/${id}`, {
|
|
213
|
-
replace: true
|
|
214
|
-
});
|
|
215
|
-
} else {
|
|
216
|
-
getRelease();
|
|
217
|
-
}
|
|
218
|
-
}).catch(err => {
|
|
209
|
+
} catch (err) {
|
|
219
210
|
const msg = formatError(err);
|
|
220
211
|
Toast.error(msg);
|
|
221
212
|
if (/resource/.test(msg) || /zip/.test(msg)) {
|
|
@@ -223,7 +214,51 @@ function Header({
|
|
|
223
214
|
blockletResource: msg
|
|
224
215
|
});
|
|
225
216
|
}
|
|
226
|
-
}
|
|
217
|
+
}
|
|
218
|
+
const lastProject = await api.getProject({
|
|
219
|
+
input: {
|
|
220
|
+
did: blocklet.meta.did,
|
|
221
|
+
projectId
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
const newReleased = lastProject.project.lastReleaseId;
|
|
225
|
+
await pAll(lastProject.project.connectedStores.map(store => {
|
|
226
|
+
return async () => {
|
|
227
|
+
try {
|
|
228
|
+
// eslint-disable-next-line no-await-in-loop
|
|
229
|
+
const res = await api.publishToStore({
|
|
230
|
+
input: {
|
|
231
|
+
did: blocklet.meta.did,
|
|
232
|
+
storeId: store.storeId,
|
|
233
|
+
storeName: store.storeName,
|
|
234
|
+
projectId,
|
|
235
|
+
releaseId: newReleased,
|
|
236
|
+
type: releaseType
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
Toast.success( /*#__PURE__*/_jsx(UploadedToast, {
|
|
240
|
+
storeName: store.storeName,
|
|
241
|
+
storeUrl: store.storeUrl,
|
|
242
|
+
developerDid: store.developerDid,
|
|
243
|
+
published: res.url === 'published'
|
|
244
|
+
}), {
|
|
245
|
+
duration: 10000
|
|
246
|
+
});
|
|
247
|
+
} catch (err) {
|
|
248
|
+
Toast.error(formatError(err));
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
}), {
|
|
252
|
+
concurrency: 4
|
|
253
|
+
});
|
|
254
|
+
onPublish?.();
|
|
255
|
+
navigate(`../${projectId}/view/${newReleased}`, {
|
|
256
|
+
replace: true
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
const onRelease = status => {
|
|
260
|
+
setLoading(true);
|
|
261
|
+
return _onRelease(status).finally(() => {
|
|
227
262
|
setLoading(false);
|
|
228
263
|
});
|
|
229
264
|
};
|
|
@@ -372,14 +407,21 @@ function Header({
|
|
|
372
407
|
children: t('common.download')
|
|
373
408
|
})
|
|
374
409
|
}), /*#__PURE__*/_jsxs(Button, {
|
|
410
|
+
disabled: loading,
|
|
375
411
|
variant: "contained",
|
|
376
412
|
onClick: () => setShowStoreDialog(true),
|
|
377
|
-
children: [/*#__PURE__*/_jsx(
|
|
378
|
-
|
|
413
|
+
children: [loading ? /*#__PURE__*/_jsx(Spinner, {
|
|
414
|
+
size: 14,
|
|
415
|
+
sx: {
|
|
416
|
+
mr: 1
|
|
417
|
+
},
|
|
418
|
+
color: "inherit"
|
|
419
|
+
}) : /*#__PURE__*/_jsx(CloudUploadRoundedIcon, {
|
|
420
|
+
sx: {
|
|
379
421
|
fontSize: '1.3em',
|
|
380
|
-
|
|
422
|
+
mr: 1
|
|
381
423
|
}
|
|
382
|
-
}), isMobile ? t('common.upload') : t('
|
|
424
|
+
}), isMobile ? t('common.upload') : t('blocklet.publish.connectOrUpload')]
|
|
383
425
|
})]
|
|
384
426
|
})]
|
|
385
427
|
})
|
|
@@ -393,7 +435,7 @@ function Header({
|
|
|
393
435
|
children: /*#__PURE__*/_jsx(ConnectStoreList, {
|
|
394
436
|
projectType: projectType,
|
|
395
437
|
blocklet: blocklet,
|
|
396
|
-
releaseType:
|
|
438
|
+
releaseType: releaseType,
|
|
397
439
|
projectId: projectId,
|
|
398
440
|
releaseId: releaseId,
|
|
399
441
|
componentDid: componentDid,
|
|
@@ -5,6 +5,7 @@ import Tabs from '@arcblock/ux/lib/Tabs';
|
|
|
5
5
|
import Toast from '@arcblock/ux/lib/Toast';
|
|
6
6
|
import styled from '@emotion/styled';
|
|
7
7
|
import { Box, FormControlLabel, Radio, RadioGroup, Tooltip, Typography, useMediaQuery } from '@mui/material';
|
|
8
|
+
import { useMemoizedFn } from 'ahooks';
|
|
8
9
|
import pick from 'lodash/pick';
|
|
9
10
|
import PropTypes from 'prop-types';
|
|
10
11
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
@@ -22,9 +23,9 @@ import Branding from './branding';
|
|
|
22
23
|
import Header from './header';
|
|
23
24
|
import Introduction from './introduction';
|
|
24
25
|
import ReleaseStepper from './release-stepper';
|
|
26
|
+
import ResourceUpload from './resource-upload';
|
|
25
27
|
import StopBox from './stop-box';
|
|
26
28
|
import Version from './version';
|
|
27
|
-
import ResourceUpload from './resource-upload';
|
|
28
29
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
29
30
|
const addComponentTabs = ({
|
|
30
31
|
tabs,
|
|
@@ -171,6 +172,29 @@ export default function CreateRelease({
|
|
|
171
172
|
});
|
|
172
173
|
return result;
|
|
173
174
|
}, [resourceComponentsMap]);
|
|
175
|
+
const updateParamsByUrl = useMemoizedFn(() => {
|
|
176
|
+
if (!initUrl) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
setInitLogoUrl(initUrl.searchParams.get('logo'));
|
|
180
|
+
setParams(old => {
|
|
181
|
+
return {
|
|
182
|
+
...old,
|
|
183
|
+
blockletTitle: old?.blockletTitle || initUrl.searchParams.get('title'),
|
|
184
|
+
blockletDescription: old?.blockletDescription || initUrl.searchParams.get('description'),
|
|
185
|
+
blockletIntroduction: old?.blockletIntroduction || initUrl.searchParams.get('introduction') || initUrl.searchParams.get('description'),
|
|
186
|
+
blockletComponents: old?.blockletComponents || JSON.parse(initUrl.searchParams.get('components') || '[]'),
|
|
187
|
+
note: old?.note || initUrl.searchParams.get('note') || 'No note'
|
|
188
|
+
};
|
|
189
|
+
});
|
|
190
|
+
const resourcesString = initUrl.searchParams.get('resources');
|
|
191
|
+
try {
|
|
192
|
+
const resources = JSON.parse(resourcesString);
|
|
193
|
+
setInitialResources(resources);
|
|
194
|
+
} catch (_) {
|
|
195
|
+
//
|
|
196
|
+
}
|
|
197
|
+
});
|
|
174
198
|
const getRelease = async () => {
|
|
175
199
|
if (!releaseId) {
|
|
176
200
|
return;
|
|
@@ -230,6 +254,9 @@ export default function CreateRelease({
|
|
|
230
254
|
}
|
|
231
255
|
const theParams = pickParams(data, blocklet);
|
|
232
256
|
setParams(theParams);
|
|
257
|
+
if (!data.lastReleaseId) {
|
|
258
|
+
updateParamsByUrl();
|
|
259
|
+
}
|
|
233
260
|
} catch (err) {
|
|
234
261
|
setLoading(false);
|
|
235
262
|
Toast.error(formatError(err));
|
|
@@ -262,23 +289,9 @@ export default function CreateRelease({
|
|
|
262
289
|
}, [getData]);
|
|
263
290
|
useEffect(() => {
|
|
264
291
|
if (projectId === UNOWNED_DID && (mode === 'create' || mode === 'new-release') && initUrl) {
|
|
265
|
-
|
|
266
|
-
setParams({
|
|
267
|
-
blockletTitle: initUrl.searchParams.get('title'),
|
|
268
|
-
blockletDescription: initUrl.searchParams.get('description'),
|
|
269
|
-
blockletIntroduction: initUrl.searchParams.get('introduction') || initUrl.searchParams.get('description'),
|
|
270
|
-
blockletComponents: JSON.parse(initUrl.searchParams.get('components') || '[]'),
|
|
271
|
-
note: initUrl.searchParams.get('note') || 'No note'
|
|
272
|
-
});
|
|
273
|
-
const resourcesString = initUrl.searchParams.get('resources');
|
|
274
|
-
try {
|
|
275
|
-
const resources = JSON.parse(resourcesString);
|
|
276
|
-
setInitialResources(resources);
|
|
277
|
-
} catch (_) {
|
|
278
|
-
//
|
|
279
|
-
}
|
|
292
|
+
updateParamsByUrl();
|
|
280
293
|
}
|
|
281
|
-
}, [
|
|
294
|
+
}, [projectId, initUrl, mode, updateParamsByUrl]);
|
|
282
295
|
const hasSelectedResources = useMemo(() => {
|
|
283
296
|
return !!Object.keys(selectedResourceIds).find(key => {
|
|
284
297
|
if (selectedResourceIds[key].length) {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
2
|
+
import { Box, Button, Typography } from '@mui/material';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { joinURL } from 'ufo';
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
function UploadedToast({
|
|
7
|
+
storeUrl,
|
|
8
|
+
storeName,
|
|
9
|
+
developerDid,
|
|
10
|
+
published
|
|
11
|
+
}) {
|
|
12
|
+
const {
|
|
13
|
+
t
|
|
14
|
+
} = useLocaleContext();
|
|
15
|
+
const handleOpenUrl = () => {
|
|
16
|
+
if (developerDid) {
|
|
17
|
+
const didConnect = Buffer.from(JSON.stringify({
|
|
18
|
+
forceConnected: developerDid
|
|
19
|
+
}), 'utf8').toString('base64');
|
|
20
|
+
window.open(`${joinURL(storeUrl, 'developer/blocklets')}?__did-connect__=${didConnect}`);
|
|
21
|
+
} else {
|
|
22
|
+
window.open(`${joinURL(storeUrl, 'developer/blocklets')}`);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
26
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
27
|
+
variant: "subtitle2",
|
|
28
|
+
children: t(published ? 'blocklet.publish.publishToStoreSuccess' : 'blocklet.publish.uploadToStoreSuccess', {
|
|
29
|
+
name: storeName
|
|
30
|
+
})
|
|
31
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
32
|
+
size: "small",
|
|
33
|
+
sx: {
|
|
34
|
+
mt: 1
|
|
35
|
+
},
|
|
36
|
+
onClick: handleOpenUrl,
|
|
37
|
+
variant: "contained",
|
|
38
|
+
color: "success",
|
|
39
|
+
children: t('common.visitTarget', {
|
|
40
|
+
name: storeName
|
|
41
|
+
})
|
|
42
|
+
})]
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
UploadedToast.propTypes = {
|
|
46
|
+
storeName: PropTypes.string.isRequired,
|
|
47
|
+
storeUrl: PropTypes.string.isRequired,
|
|
48
|
+
developerDid: PropTypes.string.isRequired,
|
|
49
|
+
published: PropTypes.bool.isRequired
|
|
50
|
+
};
|
|
51
|
+
export default UploadedToast;
|
|
@@ -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,14 +343,14 @@ export default {
|
|
|
343
343
|
tags: 'وسوم',
|
|
344
344
|
connectToStore: 'الاتصال بالمتجر',
|
|
345
345
|
uploaded: 'تم التحميل',
|
|
346
|
-
uploadToStore: 'تحميل إلى المتجر',
|
|
347
346
|
upload: 'تحميل',
|
|
348
347
|
blockletStudio: 'استوديو',
|
|
349
348
|
visitStore: 'زيارة المتجر',
|
|
350
349
|
reconnect: 'إعادة الاتصال',
|
|
351
350
|
change: 'تغيير',
|
|
352
351
|
disconnect: 'توقف',
|
|
353
|
-
sourceApp: 'ينتمي إلى التطبيق'
|
|
352
|
+
sourceApp: 'ينتمي إلى التطبيق',
|
|
353
|
+
visitTarget: 'زيارة {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'خارجي',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: 'احذف {name}',
|
|
703
703
|
copyInstallUrl: 'انسخ عنوان URL للتثبيت',
|
|
704
704
|
install: 'تثبيت {name}',
|
|
705
|
-
publishToStoreSuccess: 'تم نشر
|
|
705
|
+
publishToStoreSuccess: 'تم نشر البلوكليت بنجاح على المتجر',
|
|
706
706
|
connectStoreSuccess: 'تم الاتصال بمتجر البلوكليت بنجاح',
|
|
707
707
|
uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر',
|
|
708
708
|
viewLastRelease: 'عرض آخر إصدار',
|
package/lib/locales/de.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: 'Verbinden wiederherstellen',
|
|
351
350
|
change: 'Ändern',
|
|
352
351
|
disconnect: 'Verbindung trennen',
|
|
353
|
-
sourceApp: 'Zur App gehörend'
|
|
352
|
+
sourceApp: 'Zur App gehörend',
|
|
353
|
+
visitTarget: 'Besuchen Sie {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'Extern',
|
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',
|
|
@@ -244,6 +243,7 @@ export default {
|
|
|
244
243
|
notification: 'Notification',
|
|
245
244
|
open: 'Open',
|
|
246
245
|
visitStore: 'Visit Store',
|
|
246
|
+
visitTarget: 'Visit {name}',
|
|
247
247
|
management: 'Management',
|
|
248
248
|
os: 'Operating System',
|
|
249
249
|
overview: 'Overview',
|
package/lib/locales/es.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: 'Reconecta',
|
|
351
350
|
change: 'Cambiar',
|
|
352
351
|
disconnect: 'Desconectar',
|
|
353
|
-
sourceApp: 'Pertenece a la aplicación'
|
|
352
|
+
sourceApp: 'Pertenece a la aplicación',
|
|
353
|
+
visitTarget: 'Visita {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'Externo',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: 'Eliminar {name}',
|
|
703
703
|
copyInstallUrl: 'Copiar URL de instalación',
|
|
704
704
|
install: 'Instalar {name}',
|
|
705
|
-
publishToStoreSuccess: '
|
|
705
|
+
publishToStoreSuccess: 'Blocklet publicado en la tienda con éxito',
|
|
706
706
|
connectStoreSuccess: 'La tienda de Blocklet se conectó correctamente',
|
|
707
707
|
uploadToStoreSuccess: 'Bloque de carga a la tienda exitosamente, necesitas publicarlo en la tienda',
|
|
708
708
|
viewLastRelease: 'Ver última versión',
|
package/lib/locales/fr.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: 'Reconnecter',
|
|
351
350
|
change: 'Changer',
|
|
352
351
|
disconnect: 'Déconnecter',
|
|
353
|
-
sourceApp: "Appartient à l'application"
|
|
352
|
+
sourceApp: "Appartient à l'application",
|
|
353
|
+
visitTarget: 'Visitez {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'Externe',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: 'Supprimez {name}',
|
|
703
703
|
copyInstallUrl: "Copier l'URL d'installation",
|
|
704
704
|
install: 'Installer {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet publié avec succès
|
|
705
|
+
publishToStoreSuccess: 'Blocklet publié avec succès sur le Store',
|
|
706
706
|
connectStoreSuccess: 'Connexion réussie au Blocklet Store',
|
|
707
707
|
uploadToStoreSuccess: 'Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store',
|
|
708
708
|
viewLastRelease: 'Voir la dernière version',
|
package/lib/locales/hi.js
CHANGED
|
@@ -343,14 +343,14 @@ export default {
|
|
|
343
343
|
tags: 'टैग्स',
|
|
344
344
|
connectToStore: 'स्टोर से जुड़ें',
|
|
345
345
|
uploaded: 'अपलोड किया गया',
|
|
346
|
-
uploadToStore: 'स्टोर में अपलोड करें',
|
|
347
346
|
upload: 'अपलोड करें',
|
|
348
347
|
blockletStudio: 'स्टूडियो',
|
|
349
348
|
visitStore: 'स्टोर को देखें',
|
|
350
349
|
reconnect: 'पुनः कनेक्ट करें',
|
|
351
350
|
change: 'परिवर्तन',
|
|
352
351
|
disconnect: 'डिस्कनेक्ट करें',
|
|
353
|
-
sourceApp: 'ऐप से संबद्ध'
|
|
352
|
+
sourceApp: 'ऐप से संबद्ध',
|
|
353
|
+
visitTarget: '{name} का दौरा करें'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'बाहरी',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: '{नाम} को हटाएं',
|
|
703
703
|
copyInstallUrl: 'संपादित स्थापित URL की प्रतिलिपि',
|
|
704
704
|
install: '{name} स्थापित करें',
|
|
705
|
-
publishToStoreSuccess: 'सफलतापूर्वक स्टोर
|
|
705
|
+
publishToStoreSuccess: 'ब्लॉकलेट सफलतापूर्वक स्टोर पर प्रकाशित किया गया',
|
|
706
706
|
connectStoreSuccess: 'ब्लॉकलेट स्टोर सफलतापूर्वक कनेक्ट हो गया',
|
|
707
707
|
uploadToStoreSuccess: 'ब्लॉकलेट को स्टोर में सफलतापूर्वक अपलोड किया गया है, आपको इसे स्टोर में प्रकाशित करने की आवश्यकता है',
|
|
708
708
|
viewLastRelease: 'अंतिम रिलीज़ देखें',
|
package/lib/locales/i18n.db
CHANGED
|
Binary file
|
package/lib/locales/id.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: 'Menghubungkan kembali',
|
|
351
350
|
change: 'Perubahan',
|
|
352
351
|
disconnect: 'Putuskan Sambungan',
|
|
353
|
-
sourceApp: 'Milik aplikasi'
|
|
352
|
+
sourceApp: 'Milik aplikasi',
|
|
353
|
+
visitTarget: 'Kunjungi {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'Eksternal',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: 'Hapus {name}',
|
|
703
703
|
copyInstallUrl: 'Salin URL Instalasi',
|
|
704
704
|
install: 'Pasang {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet berhasil
|
|
705
|
+
publishToStoreSuccess: 'Blocklet berhasil diterbitkan ke Toko',
|
|
706
706
|
connectStoreSuccess: 'Penyimpanan Blocklet berhasil terhubung',
|
|
707
707
|
uploadToStoreSuccess: 'Blocklet berhasil diunggah ke Store, Anda perlu mempublikasikannya di Store',
|
|
708
708
|
viewLastRelease: 'Tampilkan rilis terakhir',
|
package/lib/locales/ja.js
CHANGED
|
@@ -343,14 +343,14 @@ export default {
|
|
|
343
343
|
tags: 'タグ',
|
|
344
344
|
connectToStore: 'ストアに接続する',
|
|
345
345
|
uploaded: 'アップロードされました',
|
|
346
|
-
uploadToStore: 'ストアにアップロード',
|
|
347
346
|
upload: 'アップロード',
|
|
348
347
|
blockletStudio: 'スタジオ',
|
|
349
348
|
visitStore: '店を訪れる',
|
|
350
349
|
reconnect: '再接続する',
|
|
351
350
|
change: '変更',
|
|
352
351
|
disconnect: '接続を切る',
|
|
353
|
-
sourceApp: 'このアプリに所属'
|
|
352
|
+
sourceApp: 'このアプリに所属',
|
|
353
|
+
visitTarget: '訪問{name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: '外部',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: '削除 {name}',
|
|
703
703
|
copyInstallUrl: 'インストールURLをコピーする',
|
|
704
704
|
install: '{name}をインストールする',
|
|
705
|
-
publishToStoreSuccess: '
|
|
705
|
+
publishToStoreSuccess: 'Blockletがストアに正常に公開されました',
|
|
706
706
|
connectStoreSuccess: 'Blockletストアが正常に接続されました',
|
|
707
707
|
uploadToStoreSuccess: 'ブロックレットがストアに正常にアップロードされました。ストアで公開する必要があります',
|
|
708
708
|
viewLastRelease: '最新リリースを表示する',
|
package/lib/locales/ko.js
CHANGED
|
@@ -343,14 +343,14 @@ export default {
|
|
|
343
343
|
tags: '태그',
|
|
344
344
|
connectToStore: '상점에 연결하기',
|
|
345
345
|
uploaded: '업로드되었습니다',
|
|
346
|
-
uploadToStore: '스토어에 업로드',
|
|
347
346
|
upload: '업로드',
|
|
348
347
|
blockletStudio: '스튜디오',
|
|
349
348
|
visitStore: '가게 방문하기',
|
|
350
349
|
reconnect: '재연결',
|
|
351
350
|
change: '변경',
|
|
352
351
|
disconnect: '연결 끊기',
|
|
353
|
-
sourceApp: '앱에 속함'
|
|
352
|
+
sourceApp: '앱에 속함',
|
|
353
|
+
visitTarget: '{name}를 방문하다'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: '외부의',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: '{name} 삭제',
|
|
703
703
|
copyInstallUrl: '설치 URL 복사하기',
|
|
704
704
|
install: '{name}을(를) 설치하세요',
|
|
705
|
-
publishToStoreSuccess: 'Store에
|
|
705
|
+
publishToStoreSuccess: 'Store에 성공적으로 발행된 Blocklet',
|
|
706
706
|
connectStoreSuccess: '블록렛 스토어가 성공적으로 연결되었습니다',
|
|
707
707
|
uploadToStoreSuccess: '블록렛이 성공적으로 스토어에 업로드되었습니다. 스토어에서 게시해야 합니다',
|
|
708
708
|
viewLastRelease: '최신 릴리스 보기',
|
package/lib/locales/pt.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: 'Reconectar',
|
|
351
350
|
change: 'Mudança',
|
|
352
351
|
disconnect: 'Desconectar',
|
|
353
|
-
sourceApp: 'Pertence ao app'
|
|
352
|
+
sourceApp: 'Pertence ao app',
|
|
353
|
+
visitTarget: 'Visite {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'Externo',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: 'Excluir {name}',
|
|
703
703
|
copyInstallUrl: 'Copiar URL de instalação',
|
|
704
704
|
install: 'Instale {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet publicado na
|
|
705
|
+
publishToStoreSuccess: 'Blocklet publicado na Loja com sucesso',
|
|
706
706
|
connectStoreSuccess: 'Loja de Blocos conectada com sucesso',
|
|
707
707
|
uploadToStoreSuccess: 'Blocklet enviado para a Store com sucesso, você precisa publicá-lo na Store',
|
|
708
708
|
viewLastRelease: 'Visualizar última versão',
|
package/lib/locales/ru.js
CHANGED
|
@@ -343,14 +343,14 @@ export default {
|
|
|
343
343
|
tags: 'Метки',
|
|
344
344
|
connectToStore: 'Подключитесь к магазину',
|
|
345
345
|
uploaded: 'Загружено',
|
|
346
|
-
uploadToStore: 'Загрузить в магазин',
|
|
347
346
|
upload: 'Загрузить',
|
|
348
347
|
blockletStudio: 'Студия',
|
|
349
348
|
visitStore: 'Посетите магазин',
|
|
350
349
|
reconnect: 'Восстановить соединение',
|
|
351
350
|
change: 'Изменение',
|
|
352
351
|
disconnect: 'Отсоединить',
|
|
353
|
-
sourceApp: 'Принадлежит приложению'
|
|
352
|
+
sourceApp: 'Принадлежит приложению',
|
|
353
|
+
visitTarget: 'Посетите {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'Внешний',
|
package/lib/locales/th.js
CHANGED
|
@@ -343,14 +343,14 @@ export default {
|
|
|
343
343
|
tags: 'แท็ก',
|
|
344
344
|
connectToStore: 'เชื่อมต่อกับร้านค้า',
|
|
345
345
|
uploaded: 'อัปโหลดแล้ว',
|
|
346
|
-
uploadToStore: 'อัปโหลดไปยังร้านค้า',
|
|
347
346
|
upload: 'อัปโหลด',
|
|
348
347
|
blockletStudio: 'สตูดิโอ',
|
|
349
348
|
visitStore: 'เยี่ยมชมร้านค้า',
|
|
350
349
|
reconnect: 'เชื่อมต่อใหม่',
|
|
351
350
|
change: 'เปลี่ยนแปลง',
|
|
352
351
|
disconnect: 'ตัดการเชื่อมต่อ',
|
|
353
|
-
sourceApp: 'เป็นของแอป'
|
|
352
|
+
sourceApp: 'เป็นของแอป',
|
|
353
|
+
visitTarget: 'เข้าชม {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'ภายนอก',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: 'ลบ {name}',
|
|
703
703
|
copyInstallUrl: 'คัดลอก URL การติดตั้ง',
|
|
704
704
|
install: 'ติดตั้ง {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet
|
|
705
|
+
publishToStoreSuccess: 'Blocklet ได้รับการเผยแพร่ในร้านค้าเรียบร้อยแล้ว',
|
|
706
706
|
connectStoreSuccess: 'เชื่อมต่อ Blocklet Store สำเร็จ',
|
|
707
707
|
uploadToStoreSuccess: 'อัพโหลด Blocklet เข้าสู่ Store สำเร็จแล้ว คุณต้องเผยแพร่ในร้านค้า',
|
|
708
708
|
viewLastRelease: 'ดูรายการอัพเดตล่าสุด',
|
package/lib/locales/vi.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: 'Kết nối lại',
|
|
351
350
|
change: 'Thay đổi',
|
|
352
351
|
disconnect: 'Ngắt kết nối',
|
|
353
|
-
sourceApp: 'Thuộc về ứng dụng'
|
|
352
|
+
sourceApp: 'Thuộc về ứng dụng',
|
|
353
|
+
visitTarget: 'Ghé thăm {name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: 'Bên ngoài',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: 'Xóa {name}',
|
|
703
703
|
copyInstallUrl: 'Sao chép URL cài đặt',
|
|
704
704
|
install: 'Cài đặt {name}',
|
|
705
|
-
publishToStoreSuccess: 'Blocklet đã được xuất bản
|
|
705
|
+
publishToStoreSuccess: 'Blocklet đã được xuất bản lên Cửa hàng thành công',
|
|
706
706
|
connectStoreSuccess: 'Kết nối Blocklet Store thành công',
|
|
707
707
|
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
708
|
viewLastRelease: 'Xem phiên bản phát hành gần đây nhất',
|
package/lib/locales/zh-tw.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: '重新連接',
|
|
351
350
|
change: '更改',
|
|
352
351
|
disconnect: '斷開連線',
|
|
353
|
-
sourceApp: '屬於此 App'
|
|
352
|
+
sourceApp: '屬於此 App',
|
|
353
|
+
visitTarget: '拜訪{name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: '外部的',
|
|
@@ -702,7 +702,7 @@ export default {
|
|
|
702
702
|
delete: '刪除 {name}',
|
|
703
703
|
copyInstallUrl: '複製安裝連結',
|
|
704
704
|
install: '安裝{name}',
|
|
705
|
-
publishToStoreSuccess: '
|
|
705
|
+
publishToStoreSuccess: '成功發佈到商店的Blocklet',
|
|
706
706
|
connectStoreSuccess: 'Store 連線成功',
|
|
707
707
|
uploadToStoreSuccess: 'Blocklet 成功上傳至 Store,請在 Store 中發布',
|
|
708
708
|
viewLastRelease: '查看最新版本',
|
package/lib/locales/zh.js
CHANGED
|
@@ -343,14 +343,14 @@ 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',
|
|
350
349
|
reconnect: '重新连接',
|
|
351
350
|
change: '更改',
|
|
352
351
|
sourceApp: '所属应用',
|
|
353
|
-
disconnect: '断开连接'
|
|
352
|
+
disconnect: '断开连接',
|
|
353
|
+
visitTarget: '访问{name}'
|
|
354
354
|
},
|
|
355
355
|
blocklet: {
|
|
356
356
|
external: '外部',
|
|
@@ -704,7 +704,7 @@ export default {
|
|
|
704
704
|
delete: '删除 {name}',
|
|
705
705
|
copyInstallUrl: '复制安装链接',
|
|
706
706
|
install: '安装 {name}',
|
|
707
|
-
publishToStoreSuccess: '
|
|
707
|
+
publishToStoreSuccess: '成功发布到商店的Blocklet',
|
|
708
708
|
connectStoreSuccess: 'Blocklet 成功连接 Store',
|
|
709
709
|
uploadToStoreSuccess: 'Blocklet 成功上传至 Store,请在 Store 中发布',
|
|
710
710
|
viewLastRelease: '查看最新版本',
|
package/lib/store/item.js
CHANGED
|
@@ -16,6 +16,7 @@ import ConnectActions from './connect-actions';
|
|
|
16
16
|
import DidAddress from '../did-address';
|
|
17
17
|
import usePromiseWindowOpen from '../hooks/use-promise-window-open';
|
|
18
18
|
import DeveloperAvatar from './developer-avatar';
|
|
19
|
+
import UploadedToast from '../blocklet/publish/create-release/uploaded-toast';
|
|
19
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
21
|
export const BEHAVIOR = {
|
|
21
22
|
CONNECT: 'connect',
|
|
@@ -115,6 +116,7 @@ export default function StoreItem({
|
|
|
115
116
|
} = useNodeContext();
|
|
116
117
|
const [loading, setLoading] = useState(false);
|
|
117
118
|
const openWindow = usePromiseWindowOpen({
|
|
119
|
+
messageType: 'connect-store-message',
|
|
118
120
|
onOpen: () => setLoading(true),
|
|
119
121
|
onClose: () => setLoading(false)
|
|
120
122
|
});
|
|
@@ -158,7 +160,6 @@ export default function StoreItem({
|
|
|
158
160
|
} catch (err) {
|
|
159
161
|
const error = formatError(err);
|
|
160
162
|
Toast.error(error);
|
|
161
|
-
newWindow.document.write(error);
|
|
162
163
|
setLoading(false);
|
|
163
164
|
}
|
|
164
165
|
});
|
|
@@ -190,11 +191,14 @@ export default function StoreItem({
|
|
|
190
191
|
type: releaseType
|
|
191
192
|
}
|
|
192
193
|
}).then(res => {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
194
|
+
Toast.success( /*#__PURE__*/_jsx(UploadedToast, {
|
|
195
|
+
storeName: connectedStore.storeName,
|
|
196
|
+
storeUrl: connectedStore.storeUrl,
|
|
197
|
+
developerDid: connectedStore.developerDid,
|
|
198
|
+
published: res.url === 'published'
|
|
199
|
+
}), {
|
|
200
|
+
duration: 10000
|
|
201
|
+
});
|
|
198
202
|
onPublish?.(null);
|
|
199
203
|
}).catch(err => {
|
|
200
204
|
Toast.error(formatError(err));
|
|
@@ -386,6 +390,7 @@ StoreItem.propTypes = {
|
|
|
386
390
|
teamDid: PropTypes.string.isRequired,
|
|
387
391
|
published: PropTypes.bool,
|
|
388
392
|
connectedStore: PropTypes.shape({
|
|
393
|
+
storeName: PropTypes.string,
|
|
389
394
|
storeId: PropTypes.string,
|
|
390
395
|
storeUrl: PropTypes.string,
|
|
391
396
|
developerDid: PropTypes.string,
|
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-87e06e1c",
|
|
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-87e06e1c",
|
|
29
|
+
"@abtnode/constant": "1.16.29-beta-87e06e1c",
|
|
30
|
+
"@abtnode/util": "1.16.29-beta-87e06e1c",
|
|
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-87e06e1c",
|
|
41
|
+
"@blocklet/js-sdk": "1.16.29-beta-87e06e1c",
|
|
42
|
+
"@blocklet/launcher-layout": "2.3.28",
|
|
43
|
+
"@blocklet/list": "^0.13.8",
|
|
44
|
+
"@blocklet/meta": "1.16.29-beta-87e06e1c",
|
|
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": "e6a32801bc392566448d4df00c2ae68717f39822"
|
|
112
112
|
}
|