@arcblock/ux 2.13.60 → 2.13.62
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/DIDConnect/auth-apps/auth-apps-info.d.ts +1 -1
- package/lib/DIDConnect/auth-apps/auth-apps-info.js +1 -1
- package/lib/DIDConnect/auth-apps/index.d.ts +7 -1
- package/lib/DIDConnect/auth-apps/index.js +9 -4
- package/lib/NavMenu/products.js +25 -25
- package/package.json +6 -6
- package/src/DIDConnect/auth-apps/auth-apps-info.tsx +1 -1
- package/src/DIDConnect/auth-apps/index.tsx +37 -20
- package/src/NavMenu/products.tsx +202 -223
@@ -8,7 +8,7 @@ export type CurrentAppInfo = {
|
|
8
8
|
appName: string;
|
9
9
|
appUrl: string;
|
10
10
|
};
|
11
|
-
export default function
|
11
|
+
export default function AuthAppsInfo({ requestAppInfo, currentAppInfo, }: {
|
12
12
|
requestAppInfo: RequestAppInfo;
|
13
13
|
currentAppInfo: CurrentAppInfo;
|
14
14
|
}): import("react/jsx-runtime").JSX.Element;
|
@@ -1,9 +1,10 @@
|
|
1
|
+
import { BoxProps } from '@mui/material';
|
1
2
|
import type { UserPublicInfo } from '@blocklet/js-sdk';
|
2
3
|
import { type RequestAppInfo, type CurrentAppInfo } from './auth-apps-info';
|
3
4
|
/**
|
4
5
|
* @example app/connect-to-did-space?appPid=zNKp8tdZUanWKnvhwZWvF2hKRutwM9ykLaY8&appDid=zNKp8tdZUanWKnvhwZWvF2hKRutwM9ykLaY8&appName=233&appDescription=456&appUrl=https://bbqaw5mgxc6fnihrwqcejcxvukkdgkk4anwxwk5msvm.did.abtnet.io/zh
|
5
6
|
*/
|
6
|
-
export default function AuthApps({ session, requestAppInfo, currentAppInfo, children, userInfo, hideSwitchConnect, hideAuthorize, hideCancel, notThisText, authorizeText, connectText, cancelText, useAnotherText, onConnect, onAuthorize, onSwitchConnect, onCancel, }: {
|
7
|
+
export default function AuthApps({ session, requestAppInfo, currentAppInfo, children, userInfo, hideSwitchConnect, hideAuthorize, hideCancel, notThisText, authorizeText, connectText, cancelText, useAnotherText, slotProps, onConnect, onAuthorize, onSwitchConnect, onCancel, }: {
|
7
8
|
session: any;
|
8
9
|
requestAppInfo: RequestAppInfo;
|
9
10
|
currentAppInfo: CurrentAppInfo;
|
@@ -17,6 +18,11 @@ export default function AuthApps({ session, requestAppInfo, currentAppInfo, chil
|
|
17
18
|
connectText?: string;
|
18
19
|
cancelText?: string;
|
19
20
|
useAnotherText?: string;
|
21
|
+
slotProps?: {
|
22
|
+
root?: BoxProps;
|
23
|
+
didConnectContainer?: object;
|
24
|
+
contentContainer?: BoxProps;
|
25
|
+
};
|
20
26
|
onConnect?: (done: () => void) => void;
|
21
27
|
onAuthorize?: (done: () => void) => void;
|
22
28
|
onSwitchConnect?: (done: () => void) => void;
|
@@ -10,6 +10,7 @@ import { translate } from '../../Locale/util';
|
|
10
10
|
import { useLocaleContext } from '../../Locale/context';
|
11
11
|
import UserCard from '../../UserCard';
|
12
12
|
import { CardType, InfoType } from '../../UserCard/types';
|
13
|
+
import { mergeSx } from '../../Util/style';
|
13
14
|
const translations = {
|
14
15
|
en: {
|
15
16
|
notThis: 'Not this?',
|
@@ -44,6 +45,7 @@ export default function AuthApps({
|
|
44
45
|
connectText,
|
45
46
|
cancelText,
|
46
47
|
useAnotherText,
|
48
|
+
slotProps,
|
47
49
|
onConnect = noop,
|
48
50
|
onAuthorize = noop,
|
49
51
|
onSwitchConnect = noop,
|
@@ -84,14 +86,17 @@ export default function AuthApps({
|
|
84
86
|
did: window.blocklet?.appPid,
|
85
87
|
standalone: true,
|
86
88
|
children: /*#__PURE__*/_jsx(Box, {
|
87
|
-
|
89
|
+
...slotProps?.root,
|
90
|
+
sx: mergeSx({
|
88
91
|
width: 420,
|
89
92
|
maxWidth: '100%'
|
90
|
-
},
|
93
|
+
}, slotProps?.root?.sx),
|
91
94
|
children: /*#__PURE__*/_jsx(DIDConnectContainer, {
|
92
95
|
hideCloseButton: true,
|
96
|
+
...slotProps?.didConnectContainer,
|
93
97
|
children: /*#__PURE__*/_jsxs(Box, {
|
94
|
-
|
98
|
+
...slotProps?.contentContainer,
|
99
|
+
sx: mergeSx({
|
95
100
|
display: 'flex',
|
96
101
|
flexDirection: 'column',
|
97
102
|
gap: 1.5,
|
@@ -105,7 +110,7 @@ export default function AuthApps({
|
|
105
110
|
xl: 4
|
106
111
|
},
|
107
112
|
bgcolor: 'background.paper'
|
108
|
-
},
|
113
|
+
}, slotProps?.contentContainer?.sx),
|
109
114
|
children: [/*#__PURE__*/_jsx(AuthAppsInfo, {
|
110
115
|
requestAppInfo: requestAppInfo,
|
111
116
|
currentAppInfo: currentAppInfo
|
package/lib/NavMenu/products.js
CHANGED
@@ -1535,7 +1535,7 @@ export default function Products({
|
|
1535
1535
|
return [{
|
1536
1536
|
type: 'Group',
|
1537
1537
|
label: t('groups.applications'),
|
1538
|
-
children: [
|
1538
|
+
children: [{
|
1539
1539
|
label: /*#__PURE__*/_jsx(Link, {
|
1540
1540
|
to: `https://www.nftstudio.rocks/${locale}`,
|
1541
1541
|
target: "_blank",
|
@@ -1553,7 +1553,16 @@ export default function Products({
|
|
1553
1553
|
}),
|
1554
1554
|
description: t('products.creatorStudio.description'),
|
1555
1555
|
icon: /*#__PURE__*/_jsx(CreatorStudioSvg, {})
|
1556
|
-
}
|
1556
|
+
}, {
|
1557
|
+
label: /*#__PURE__*/_jsx(Link, {
|
1558
|
+
to: `https://www.aistro.io/${locale}`,
|
1559
|
+
target: "_blank",
|
1560
|
+
rel: "noreferrer noopener",
|
1561
|
+
children: "Aistro"
|
1562
|
+
}),
|
1563
|
+
description: t('products.aistro.description'),
|
1564
|
+
icon: /*#__PURE__*/_jsx(AistroSvg, {})
|
1565
|
+
}, {
|
1557
1566
|
label: /*#__PURE__*/_jsx(Link, {
|
1558
1567
|
to: "https://www.aigne.io/",
|
1559
1568
|
target: "_blank",
|
@@ -1575,20 +1584,11 @@ export default function Products({
|
|
1575
1584
|
}),
|
1576
1585
|
description: t('products.arcsphere.description'),
|
1577
1586
|
icon: /*#__PURE__*/_jsx(ArcSphereSvg, {})
|
1578
|
-
}
|
1579
|
-
label: /*#__PURE__*/_jsx(Link, {
|
1580
|
-
to: `https://www.aistro.io/${locale}`,
|
1581
|
-
target: "_blank",
|
1582
|
-
rel: "noreferrer noopener",
|
1583
|
-
children: "Aistro"
|
1584
|
-
}),
|
1585
|
-
description: t('products.aistro.description'),
|
1586
|
-
icon: /*#__PURE__*/_jsx(AistroSvg, {})
|
1587
|
-
}]]
|
1587
|
+
}]
|
1588
1588
|
}, {
|
1589
1589
|
type: 'Group',
|
1590
1590
|
label: t('groups.components'),
|
1591
|
-
children: [
|
1591
|
+
children: [{
|
1592
1592
|
label: /*#__PURE__*/_jsx(Link, {
|
1593
1593
|
to: `https://launcher.arcblock.io/${locale}`,
|
1594
1594
|
target: "_blank",
|
@@ -1618,7 +1618,7 @@ export default function Products({
|
|
1618
1618
|
src: PaymentKitPng,
|
1619
1619
|
alt: "Payment Kit"
|
1620
1620
|
})
|
1621
|
-
}
|
1621
|
+
}, {
|
1622
1622
|
label: /*#__PURE__*/_jsx(Link, {
|
1623
1623
|
to: `https://store.blocklet.dev/?locale=${locale}`,
|
1624
1624
|
target: "_blank",
|
@@ -1636,11 +1636,11 @@ export default function Products({
|
|
1636
1636
|
}),
|
1637
1637
|
description: t('products.web3Kit.description'),
|
1638
1638
|
icon: /*#__PURE__*/_jsx(Web3KitSvg, {})
|
1639
|
-
}]
|
1639
|
+
}]
|
1640
1640
|
}, {
|
1641
1641
|
type: 'Group',
|
1642
1642
|
label: t('groups.computeStorage'),
|
1643
|
-
children: [
|
1643
|
+
children: [{
|
1644
1644
|
label: /*#__PURE__*/_jsx(Link, {
|
1645
1645
|
to: `https://www.arcblock.io/content/collections/${locale}/blocklet`,
|
1646
1646
|
target: "_blank",
|
@@ -1667,7 +1667,7 @@ export default function Products({
|
|
1667
1667
|
}),
|
1668
1668
|
description: t('products.abtNetwork.description'),
|
1669
1669
|
icon: /*#__PURE__*/_jsx(AbtNetworkSvg, {})
|
1670
|
-
}
|
1670
|
+
}, {
|
1671
1671
|
label: /*#__PURE__*/_jsx(Link, {
|
1672
1672
|
to: `https://www.blocklet.io/${locale}/blocklet-server`,
|
1673
1673
|
target: "_blank",
|
@@ -1685,11 +1685,11 @@ export default function Products({
|
|
1685
1685
|
}),
|
1686
1686
|
description: t('products.ocap.description'),
|
1687
1687
|
icon: /*#__PURE__*/_jsx(OCAPSvg, {})
|
1688
|
-
}]
|
1688
|
+
}]
|
1689
1689
|
}, {
|
1690
1690
|
type: 'Group',
|
1691
1691
|
label: t('groups.identity'),
|
1692
|
-
children: [
|
1692
|
+
children: [{
|
1693
1693
|
label: /*#__PURE__*/_jsx(Link, {
|
1694
1694
|
to: `https://www.arcblock.io/content/collections/${locale}/did`,
|
1695
1695
|
target: "_blank",
|
@@ -1716,7 +1716,7 @@ export default function Products({
|
|
1716
1716
|
}),
|
1717
1717
|
description: t('products.didNameService.description'),
|
1718
1718
|
icon: /*#__PURE__*/_jsx(DidNameServiceSvg, {})
|
1719
|
-
}
|
1719
|
+
}, {
|
1720
1720
|
label: /*#__PURE__*/_jsx(Link, {
|
1721
1721
|
to: `https://www.arcblock.io/content/collections/${locale}/verifiable-credential`,
|
1722
1722
|
target: "_blank",
|
@@ -1734,7 +1734,7 @@ export default function Products({
|
|
1734
1734
|
}),
|
1735
1735
|
description: t('products.didConnect.description'),
|
1736
1736
|
icon: /*#__PURE__*/_jsx(DidConnectSvg, {})
|
1737
|
-
}]
|
1737
|
+
}]
|
1738
1738
|
}];
|
1739
1739
|
}, [t, locale, palette]);
|
1740
1740
|
return /*#__PURE__*/_jsx(Wrapper, {
|
@@ -1743,11 +1743,11 @@ export default function Products({
|
|
1743
1743
|
...rest,
|
1744
1744
|
children: groups.map(group => /*#__PURE__*/_jsx(SubItemGroup, {
|
1745
1745
|
label: group.label,
|
1746
|
-
children:
|
1746
|
+
children: /*#__PURE__*/_jsx(Grid, {
|
1747
1747
|
container: true,
|
1748
1748
|
columnSpacing: 1,
|
1749
1749
|
rowSpacing: 1,
|
1750
|
-
children:
|
1750
|
+
children: group.children.map(item => /*#__PURE__*/_jsx(Grid, {
|
1751
1751
|
item: true,
|
1752
1752
|
xs: 12,
|
1753
1753
|
md: 6,
|
@@ -1759,8 +1759,8 @@ export default function Products({
|
|
1759
1759
|
},
|
1760
1760
|
...item
|
1761
1761
|
})
|
1762
|
-
},
|
1763
|
-
}
|
1762
|
+
}, item.description))
|
1763
|
+
})
|
1764
1764
|
}, group.label))
|
1765
1765
|
});
|
1766
1766
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@arcblock/ux",
|
3
|
-
"version": "2.13.
|
3
|
+
"version": "2.13.62",
|
4
4
|
"description": "Common used react components for arcblock products",
|
5
5
|
"keywords": [
|
6
6
|
"react",
|
@@ -71,14 +71,14 @@
|
|
71
71
|
"react": ">=18.2.0",
|
72
72
|
"react-router-dom": ">=6.22.3"
|
73
73
|
},
|
74
|
-
"gitHead": "
|
74
|
+
"gitHead": "36a4594299167a1bff28fc11cb590e552576f687",
|
75
75
|
"dependencies": {
|
76
76
|
"@arcblock/did-motif": "^1.1.13",
|
77
|
-
"@arcblock/icons": "^2.13.
|
78
|
-
"@arcblock/nft-display": "^2.13.
|
79
|
-
"@arcblock/react-hooks": "^2.13.
|
77
|
+
"@arcblock/icons": "^2.13.62",
|
78
|
+
"@arcblock/nft-display": "^2.13.62",
|
79
|
+
"@arcblock/react-hooks": "^2.13.62",
|
80
80
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
81
|
-
"@blocklet/theme": "^2.13.
|
81
|
+
"@blocklet/theme": "^2.13.62",
|
82
82
|
"@fontsource/roboto": "~5.1.1",
|
83
83
|
"@fontsource/ubuntu-mono": "^5.0.18",
|
84
84
|
"@iconify-icons/logos": "^1.2.36",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Box, Button, CircularProgress, Link, Stack, Typography } from '@mui/material';
|
1
|
+
import { Box, BoxProps, Button, CircularProgress, Link, Stack, SxProps, Typography } from '@mui/material';
|
2
2
|
import { useMemoizedFn, useReactive } from 'ahooks';
|
3
3
|
import noop from 'lodash/noop';
|
4
4
|
import type { UserPublicInfo } from '@blocklet/js-sdk';
|
@@ -11,6 +11,7 @@ import { translate } from '../../Locale/util';
|
|
11
11
|
import { useLocaleContext } from '../../Locale/context';
|
12
12
|
import UserCard from '../../UserCard';
|
13
13
|
import { CardType, InfoType } from '../../UserCard/types';
|
14
|
+
import { mergeSx } from '../../Util/style';
|
14
15
|
|
15
16
|
const translations = {
|
16
17
|
en: {
|
@@ -49,6 +50,8 @@ export default function AuthApps({
|
|
49
50
|
cancelText,
|
50
51
|
useAnotherText,
|
51
52
|
|
53
|
+
slotProps,
|
54
|
+
|
52
55
|
onConnect = noop,
|
53
56
|
onAuthorize = noop,
|
54
57
|
onSwitchConnect = noop,
|
@@ -70,6 +73,12 @@ export default function AuthApps({
|
|
70
73
|
cancelText?: string;
|
71
74
|
useAnotherText?: string;
|
72
75
|
|
76
|
+
slotProps?: {
|
77
|
+
root?: BoxProps;
|
78
|
+
didConnectContainer?: object;
|
79
|
+
contentContainer?: BoxProps;
|
80
|
+
};
|
81
|
+
|
73
82
|
onConnect?: (done: () => void) => void;
|
74
83
|
onAuthorize?: (done: () => void) => void;
|
75
84
|
onSwitchConnect?: (done: () => void) => void;
|
@@ -114,27 +123,35 @@ export default function AuthApps({
|
|
114
123
|
return (
|
115
124
|
<LandingPage did={window.blocklet?.appPid} standalone>
|
116
125
|
<Box
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
126
|
+
{...slotProps?.root}
|
127
|
+
sx={mergeSx(
|
128
|
+
{
|
129
|
+
width: 420,
|
130
|
+
maxWidth: '100%',
|
131
|
+
},
|
132
|
+
slotProps?.root?.sx as SxProps
|
133
|
+
)}>
|
134
|
+
<DIDConnectContainer hideCloseButton {...slotProps?.didConnectContainer}>
|
122
135
|
<Box
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
136
|
+
{...slotProps?.contentContainer}
|
137
|
+
sx={mergeSx(
|
138
|
+
{
|
139
|
+
display: 'flex',
|
140
|
+
flexDirection: 'column',
|
141
|
+
gap: 1.5,
|
142
|
+
p: {
|
143
|
+
xs: 2,
|
144
|
+
lg: 3,
|
145
|
+
xl: 4,
|
146
|
+
},
|
147
|
+
pt: {
|
148
|
+
xs: 3,
|
149
|
+
xl: 4,
|
150
|
+
},
|
151
|
+
bgcolor: 'background.paper',
|
135
152
|
},
|
136
|
-
|
137
|
-
}
|
153
|
+
slotProps?.contentContainer?.sx as SxProps
|
154
|
+
)}>
|
138
155
|
<AuthAppsInfo requestAppInfo={requestAppInfo} currentAppInfo={currentAppInfo} />
|
139
156
|
|
140
157
|
{user ? (
|
package/src/NavMenu/products.tsx
CHANGED
@@ -213,238 +213,219 @@ export default function Products({ className, isOpen, ...rest }: ProductsProps)
|
|
213
213
|
type: 'Group',
|
214
214
|
label: t('groups.applications'),
|
215
215
|
children: [
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
description: t('products.aistro.description'),
|
265
|
-
icon: <AistroSvg />,
|
266
|
-
},
|
267
|
-
],
|
216
|
+
{
|
217
|
+
label: (
|
218
|
+
<Link to={`https://www.nftstudio.rocks/${locale}`} target="_blank" rel="noreferrer noopener">
|
219
|
+
NFT Studio
|
220
|
+
</Link>
|
221
|
+
),
|
222
|
+
description: t('products.nftStudio.description'),
|
223
|
+
icon: <NftStudioSvg />,
|
224
|
+
},
|
225
|
+
{
|
226
|
+
label: (
|
227
|
+
<Link
|
228
|
+
to={`https://www.arcblock.io/content/collections/${locale}/creator-studio`}
|
229
|
+
target="_blank"
|
230
|
+
rel="noreferrer noopener">
|
231
|
+
Creator Studio
|
232
|
+
</Link>
|
233
|
+
),
|
234
|
+
description: t('products.creatorStudio.description'),
|
235
|
+
icon: <CreatorStudioSvg />,
|
236
|
+
},
|
237
|
+
{
|
238
|
+
label: (
|
239
|
+
<Link to={`https://www.aistro.io/${locale}`} target="_blank" rel="noreferrer noopener">
|
240
|
+
Aistro
|
241
|
+
</Link>
|
242
|
+
),
|
243
|
+
description: t('products.aistro.description'),
|
244
|
+
icon: <AistroSvg />,
|
245
|
+
},
|
246
|
+
{
|
247
|
+
label: (
|
248
|
+
<Link to="https://www.aigne.io/" target="_blank" rel="noreferrer noopener">
|
249
|
+
AIGNE
|
250
|
+
</Link>
|
251
|
+
),
|
252
|
+
description: t('products.aigne.description'),
|
253
|
+
icon: <AigneSvg style={{ filter: palette.mode === 'dark' ? 'invert(1)' : 'none' }} />,
|
254
|
+
},
|
255
|
+
{
|
256
|
+
label: (
|
257
|
+
<Link to={`https://www.arcsphere.io/${locale}`} target="_blank" rel="noreferrer noopener">
|
258
|
+
ArcSphere
|
259
|
+
</Link>
|
260
|
+
),
|
261
|
+
description: t('products.arcsphere.description'),
|
262
|
+
icon: <ArcSphereSvg />,
|
263
|
+
},
|
268
264
|
],
|
269
265
|
},
|
270
266
|
{
|
271
267
|
type: 'Group',
|
272
268
|
label: t('groups.components'),
|
273
269
|
children: [
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
description: t('products.web3Kit.description'),
|
320
|
-
icon: <Web3KitSvg />,
|
321
|
-
},
|
322
|
-
],
|
270
|
+
{
|
271
|
+
label: (
|
272
|
+
<Link to={`https://launcher.arcblock.io/${locale}`} target="_blank" rel="noreferrer noopener">
|
273
|
+
Blocklet Launcher
|
274
|
+
</Link>
|
275
|
+
),
|
276
|
+
description: t('products.blockletLauncher.description'),
|
277
|
+
icon: <BlockletLauncherSvg />,
|
278
|
+
},
|
279
|
+
{
|
280
|
+
label: (
|
281
|
+
<Link to={`https://www.aikit.rocks/${locale}`} target="_blank" rel="noreferrer noopener">
|
282
|
+
AI Kit
|
283
|
+
</Link>
|
284
|
+
),
|
285
|
+
description: t('products.aiKit.description'),
|
286
|
+
icon: <AIKitSvg />,
|
287
|
+
},
|
288
|
+
{
|
289
|
+
label: (
|
290
|
+
<Link to={`https://www.blocklet.io/${locale}/payment-kit`} target="_blank" rel="noreferrer noopener">
|
291
|
+
Payment Kit
|
292
|
+
</Link>
|
293
|
+
),
|
294
|
+
description: t('products.paymentKit.description'),
|
295
|
+
icon: <img src={PaymentKitPng} alt="Payment Kit" />,
|
296
|
+
},
|
297
|
+
{
|
298
|
+
label: (
|
299
|
+
<Link to={`https://store.blocklet.dev/?locale=${locale}`} target="_blank" rel="noreferrer noopener">
|
300
|
+
Blocklet Store
|
301
|
+
</Link>
|
302
|
+
),
|
303
|
+
description: t('products.blockletStore.description'),
|
304
|
+
icon: <BlockletStoreSvg />,
|
305
|
+
},
|
306
|
+
{
|
307
|
+
label: (
|
308
|
+
<Link to={`https://www.web3kit.rocks/${locale}`} target="_blank" rel="noreferrer noopener">
|
309
|
+
Web3 Kit
|
310
|
+
</Link>
|
311
|
+
),
|
312
|
+
description: t('products.web3Kit.description'),
|
313
|
+
icon: <Web3KitSvg />,
|
314
|
+
},
|
323
315
|
],
|
324
316
|
},
|
325
317
|
{
|
326
318
|
type: 'Group',
|
327
319
|
label: t('groups.computeStorage'),
|
328
320
|
children: [
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
ОСАР
|
381
|
-
</Link>
|
382
|
-
),
|
383
|
-
description: t('products.ocap.description'),
|
384
|
-
icon: <OCAPSvg />,
|
385
|
-
},
|
386
|
-
],
|
321
|
+
{
|
322
|
+
label: (
|
323
|
+
<Link
|
324
|
+
to={`https://www.arcblock.io/content/collections/${locale}/blocklet`}
|
325
|
+
target="_blank"
|
326
|
+
rel="noreferrer noopener">
|
327
|
+
Blocklet Framework
|
328
|
+
</Link>
|
329
|
+
),
|
330
|
+
description: t('products.blockletFramework.description'),
|
331
|
+
icon: <BlockletFrameworkSvg />,
|
332
|
+
},
|
333
|
+
{
|
334
|
+
label: (
|
335
|
+
<Link to={`https://www.didspaces.com/${locale}`} target="_blank" rel="noreferrer noopener">
|
336
|
+
DID Spaces
|
337
|
+
</Link>
|
338
|
+
),
|
339
|
+
description: t('products.didSpaces.description'),
|
340
|
+
icon: <DidSvg />,
|
341
|
+
},
|
342
|
+
{
|
343
|
+
label: (
|
344
|
+
<Link to="https://main.abtnetwork.io/" target="_blank" rel="noreferrer noopener">
|
345
|
+
ABT Network
|
346
|
+
</Link>
|
347
|
+
),
|
348
|
+
description: t('products.abtNetwork.description'),
|
349
|
+
icon: <AbtNetworkSvg />,
|
350
|
+
},
|
351
|
+
{
|
352
|
+
label: (
|
353
|
+
<Link to={`https://www.blocklet.io/${locale}/blocklet-server`} target="_blank" rel="noreferrer noopener">
|
354
|
+
Blocklet Server
|
355
|
+
</Link>
|
356
|
+
),
|
357
|
+
description: t('products.blockletServer.description'),
|
358
|
+
icon: <BlockletServerSvg />,
|
359
|
+
},
|
360
|
+
{
|
361
|
+
label: (
|
362
|
+
<Link
|
363
|
+
to={`https://www.arcblock.io/content/collections/${locale}/ocap`}
|
364
|
+
target="_blank"
|
365
|
+
rel="noreferrer noopener">
|
366
|
+
ОСАР
|
367
|
+
</Link>
|
368
|
+
),
|
369
|
+
description: t('products.ocap.description'),
|
370
|
+
icon: <OCAPSvg />,
|
371
|
+
},
|
387
372
|
],
|
388
373
|
},
|
389
374
|
{
|
390
375
|
type: 'Group',
|
391
376
|
label: t('groups.identity'),
|
392
377
|
children: [
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
description: t('products.didConnect.description'),
|
445
|
-
icon: <DidConnectSvg />,
|
446
|
-
},
|
447
|
-
],
|
378
|
+
{
|
379
|
+
label: (
|
380
|
+
<Link
|
381
|
+
to={`https://www.arcblock.io/content/collections/${locale}/did`}
|
382
|
+
target="_blank"
|
383
|
+
rel="noreferrer noopener">
|
384
|
+
DID
|
385
|
+
</Link>
|
386
|
+
),
|
387
|
+
description: t('products.did.description'),
|
388
|
+
icon: <DidSvg />,
|
389
|
+
},
|
390
|
+
{
|
391
|
+
label: (
|
392
|
+
<Link to={`https://www.didwallet.io/${locale}`} target="_blank" rel="noreferrer noopener">
|
393
|
+
DID Wallet
|
394
|
+
</Link>
|
395
|
+
),
|
396
|
+
description: t('products.didWallet.description'),
|
397
|
+
icon: <DidWalletSvg />,
|
398
|
+
},
|
399
|
+
{
|
400
|
+
label: (
|
401
|
+
<Link to={`https://www.didnames.io/${locale}`} target="_blank" rel="noreferrer noopener">
|
402
|
+
DID Names
|
403
|
+
</Link>
|
404
|
+
),
|
405
|
+
description: t('products.didNameService.description'),
|
406
|
+
icon: <DidNameServiceSvg />,
|
407
|
+
},
|
408
|
+
{
|
409
|
+
label: (
|
410
|
+
<Link
|
411
|
+
to={`https://www.arcblock.io/content/collections/${locale}/verifiable-credential`}
|
412
|
+
target="_blank"
|
413
|
+
rel="noreferrer noopener">
|
414
|
+
VC
|
415
|
+
</Link>
|
416
|
+
),
|
417
|
+
description: t('products.vc.description'),
|
418
|
+
icon: <VCSvg />,
|
419
|
+
},
|
420
|
+
{
|
421
|
+
label: (
|
422
|
+
<Link to={`https://www.didconnect.io/${locale}`} target="_blank" rel="noreferrer noopener">
|
423
|
+
DID Connect
|
424
|
+
</Link>
|
425
|
+
),
|
426
|
+
description: t('products.didConnect.description'),
|
427
|
+
icon: <DidConnectSvg />,
|
428
|
+
},
|
448
429
|
],
|
449
430
|
},
|
450
431
|
];
|
@@ -454,15 +435,13 @@ export default function Products({ className, isOpen, ...rest }: ProductsProps)
|
|
454
435
|
<Wrapper ref={wrapperRef} className={`is-${mode} ${className}`} {...rest}>
|
455
436
|
{groups.map((group) => (
|
456
437
|
<SubItemGroup key={group.label} label={group.label}>
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
<
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
</Grid>
|
465
|
-
))}
|
438
|
+
<Grid container columnSpacing={1} rowSpacing={1}>
|
439
|
+
{group.children.map((item) => (
|
440
|
+
<Grid item xs={12} md={6} lg={4} key={item.description}>
|
441
|
+
<Item variant="panel" style={{ padding: '8px' }} {...item} />
|
442
|
+
</Grid>
|
443
|
+
))}
|
444
|
+
</Grid>
|
466
445
|
</SubItemGroup>
|
467
446
|
))}
|
468
447
|
</Wrapper>
|