@abtnode/ux 1.16.32-beta-4d47ae7f → 1.16.32-beta-17be26d7
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/authentication/common-settings.js +241 -69
- package/lib/blocklet/authentication/federated/federated-site-list.js +3 -3
- package/lib/blocklet/config-navigation.js +2 -2
- package/lib/blocklet/publish/create-release/header.js +1 -1
- package/lib/locales/ar.js +15 -3
- package/lib/locales/de.js +15 -3
- package/lib/locales/en.js +14 -2
- package/lib/locales/es.js +15 -3
- package/lib/locales/fr.js +15 -3
- package/lib/locales/hi.js +15 -3
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +15 -3
- package/lib/locales/ja.js +15 -3
- package/lib/locales/ko.js +15 -3
- package/lib/locales/pt.js +15 -3
- package/lib/locales/ru.js +15 -3
- package/lib/locales/th.js +15 -3
- package/lib/locales/vi.js +15 -3
- package/lib/locales/zh-tw.js +15 -3
- package/lib/locales/zh.js +15 -3
- package/lib/lost-passport.js +12 -12
- package/lib/store/item.js +1 -1
- package/lib/team/members/index.js +2 -2
- package/lib/team/members/member.js +27 -2
- package/lib/team/members/passport-item.js +8 -2
- package/lib/team/passports/color.js +2 -0
- package/lib/util/index.js +7 -0
- package/package.json +18 -18
|
@@ -1,20 +1,52 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
3
|
+
import SwitchControl from '@arcblock/ux/lib/Switch';
|
|
2
4
|
import Box from '@mui/material/Box';
|
|
3
5
|
import { Controller, useForm } from 'react-hook-form';
|
|
4
6
|
import Button from '@mui/material/Button';
|
|
5
7
|
import FormControl from '@mui/material/FormControl';
|
|
8
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
6
9
|
import Slider from '@mui/material/Slider';
|
|
7
10
|
import Stack from '@mui/material/Stack';
|
|
11
|
+
import Typography from '@mui/material/Typography';
|
|
8
12
|
import Toast from '@arcblock/ux/lib/Toast';
|
|
9
13
|
import { useMemoizedFn } from 'ahooks';
|
|
10
14
|
import pick from 'lodash/pick';
|
|
11
|
-
import
|
|
15
|
+
import omit from 'lodash/omit';
|
|
16
|
+
import merge from 'lodash/merge';
|
|
17
|
+
import { SESSION_TTL, SESSION_CACHE_TTL } from '@abtnode/constant';
|
|
12
18
|
import { useBlockletContext } from '../../contexts/blocklet';
|
|
13
19
|
import { useNodeContext } from '../../contexts/node';
|
|
14
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
21
|
const defaultForm = {
|
|
16
|
-
ttl: SESSION_TTL
|
|
22
|
+
ttl: SESSION_TTL,
|
|
23
|
+
cacheTtl: SESSION_CACHE_TTL,
|
|
24
|
+
email: {
|
|
25
|
+
enabled: false,
|
|
26
|
+
requireVerified: false,
|
|
27
|
+
requireUnique: false,
|
|
28
|
+
trustOauthProviders: false,
|
|
29
|
+
domainBlackList: [],
|
|
30
|
+
trustedIssuers: []
|
|
31
|
+
},
|
|
32
|
+
phone: {
|
|
33
|
+
enabled: false,
|
|
34
|
+
requireVerified: false,
|
|
35
|
+
requireUnique: false,
|
|
36
|
+
regionBlackList: [],
|
|
37
|
+
trustedIssuers: []
|
|
38
|
+
}
|
|
17
39
|
};
|
|
40
|
+
function Switch(props) {
|
|
41
|
+
return /*#__PURE__*/_jsx(SwitchControl, {
|
|
42
|
+
...props,
|
|
43
|
+
sx: {
|
|
44
|
+
marginLeft: 1,
|
|
45
|
+
marginRight: 0.5,
|
|
46
|
+
transform: 'scale(0.75)'
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
18
50
|
function fixTtl(data, reverse = false) {
|
|
19
51
|
const ttl = reverse ? data.ttl * 86400 : data.ttl / 86400;
|
|
20
52
|
return {
|
|
@@ -30,18 +62,27 @@ export default function CommonSettings() {
|
|
|
30
62
|
blocklet
|
|
31
63
|
} = useBlockletContext();
|
|
32
64
|
const did = blocklet?.meta?.did;
|
|
33
|
-
const sessionSettings =
|
|
65
|
+
const sessionSettings = merge({}, defaultForm, blocklet?.settings?.session || {});
|
|
66
|
+
if (!sessionSettings.phone) {
|
|
67
|
+
sessionSettings.phone = defaultForm.phone;
|
|
68
|
+
}
|
|
69
|
+
if (!sessionSettings.email) {
|
|
70
|
+
sessionSettings.email = defaultForm.email;
|
|
71
|
+
}
|
|
34
72
|
const {
|
|
35
73
|
handleSubmit,
|
|
36
74
|
control,
|
|
37
75
|
formState,
|
|
38
|
-
reset
|
|
76
|
+
reset,
|
|
77
|
+
watch
|
|
39
78
|
} = useForm({
|
|
40
|
-
defaultValues: pick(fixTtl(sessionSettings), ['ttl'])
|
|
79
|
+
defaultValues: pick(fixTtl(sessionSettings), ['ttl', 'cacheTtl', 'email', 'phone'])
|
|
41
80
|
});
|
|
42
81
|
const {
|
|
43
82
|
t
|
|
44
83
|
} = useLocaleContext();
|
|
84
|
+
const emailEnabled = watch('email.enabled');
|
|
85
|
+
const phoneEnabled = watch('phone.enabled');
|
|
45
86
|
const onSubmit = useMemoizedFn(async data => {
|
|
46
87
|
try {
|
|
47
88
|
const {
|
|
@@ -49,84 +90,215 @@ export default function CommonSettings() {
|
|
|
49
90
|
} = await api.updateAppSessionConfig({
|
|
50
91
|
input: {
|
|
51
92
|
did,
|
|
52
|
-
config: fixTtl(data, true)
|
|
93
|
+
config: omit(fixTtl(data, true), ['phone'])
|
|
53
94
|
}
|
|
54
95
|
});
|
|
55
|
-
const defaultValues = Object.assign({}, defaultForm, pick(blockletChanged?.settings?.session || {}, ['ttl']));
|
|
56
|
-
// 将当前表单的默认值重置为新的数据,这样能够修正页面的 isDirty 数据
|
|
96
|
+
const defaultValues = Object.assign({}, defaultForm, pick(blockletChanged?.settings?.session || {}, ['ttl', 'cacheTtl', 'email', 'phone']));
|
|
57
97
|
reset(fixTtl(defaultValues));
|
|
58
98
|
Toast.success(t('common.configSuccess'));
|
|
59
99
|
} catch (err) {
|
|
60
100
|
Toast.error(err.message);
|
|
61
101
|
}
|
|
62
102
|
});
|
|
63
|
-
return /*#__PURE__*/_jsx(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
103
|
+
return /*#__PURE__*/_jsx("form", {
|
|
104
|
+
onSubmit: handleSubmit(onSubmit),
|
|
105
|
+
children: /*#__PURE__*/_jsxs(Stack, {
|
|
106
|
+
direction: "column",
|
|
107
|
+
spacing: 4,
|
|
108
|
+
children: [/*#__PURE__*/_jsxs(Stack, {
|
|
109
|
+
direction: "column",
|
|
110
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
111
|
+
variant: "body1",
|
|
112
|
+
mb: 1,
|
|
113
|
+
children: t('blocklet.config.session.profile')
|
|
114
|
+
}), /*#__PURE__*/_jsx(FormControlLabel, {
|
|
115
|
+
disabled: true,
|
|
116
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
117
|
+
size: "small",
|
|
118
|
+
checked: true
|
|
119
|
+
}),
|
|
120
|
+
label: t('blocklet.config.session.fullNameEnabled')
|
|
121
|
+
}), /*#__PURE__*/_jsx(FormControlLabel, {
|
|
122
|
+
disabled: true,
|
|
123
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
124
|
+
checked: true
|
|
125
|
+
}),
|
|
126
|
+
label: t('blocklet.config.session.avatarEnabled')
|
|
127
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
128
|
+
name: "email.enabled",
|
|
129
|
+
control: control,
|
|
130
|
+
render: ({
|
|
131
|
+
field
|
|
132
|
+
}) => {
|
|
133
|
+
return /*#__PURE__*/_jsx(FormControlLabel, {
|
|
134
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
135
|
+
...field,
|
|
136
|
+
checked: field.value
|
|
137
|
+
}),
|
|
138
|
+
label: t('blocklet.config.session.emailEnabled')
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}), emailEnabled && /*#__PURE__*/_jsxs(Stack, {
|
|
142
|
+
direction: "column",
|
|
143
|
+
ml: 2,
|
|
144
|
+
children: [/*#__PURE__*/_jsx(Controller, {
|
|
145
|
+
name: "email.requireVerified",
|
|
146
|
+
control: control,
|
|
147
|
+
render: ({
|
|
148
|
+
field
|
|
149
|
+
}) => /*#__PURE__*/_jsx(FormControlLabel, {
|
|
150
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
151
|
+
...field,
|
|
152
|
+
checked: field.value
|
|
153
|
+
}),
|
|
154
|
+
label: t('blocklet.config.session.emailRequireVerified')
|
|
155
|
+
})
|
|
156
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
157
|
+
name: "email.requireUnique",
|
|
158
|
+
control: control,
|
|
159
|
+
render: ({
|
|
160
|
+
field
|
|
161
|
+
}) => /*#__PURE__*/_jsx(FormControlLabel, {
|
|
162
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
163
|
+
...field,
|
|
164
|
+
checked: field.value
|
|
165
|
+
}),
|
|
166
|
+
label: t('blocklet.config.session.emailRequireUnique')
|
|
167
|
+
})
|
|
168
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
169
|
+
name: "email.trustOauthProviders",
|
|
170
|
+
control: control,
|
|
171
|
+
render: ({
|
|
172
|
+
field
|
|
173
|
+
}) => /*#__PURE__*/_jsx(FormControlLabel, {
|
|
174
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
175
|
+
...field,
|
|
176
|
+
checked: field.value
|
|
177
|
+
}),
|
|
178
|
+
label: t('blocklet.config.session.emailTrustOauthProviders')
|
|
179
|
+
})
|
|
180
|
+
})]
|
|
181
|
+
}), /*#__PURE__*/_jsxs(Box, {
|
|
74
182
|
sx: {
|
|
75
|
-
|
|
183
|
+
display: 'none'
|
|
76
184
|
},
|
|
77
|
-
children: /*#__PURE__*/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
185
|
+
children: [/*#__PURE__*/_jsx(Controller, {
|
|
186
|
+
name: "phone.enabled",
|
|
187
|
+
control: control,
|
|
188
|
+
disabled: true,
|
|
189
|
+
render: ({
|
|
190
|
+
field
|
|
191
|
+
}) => /*#__PURE__*/_jsx(FormControlLabel, {
|
|
192
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
193
|
+
...field,
|
|
194
|
+
checked: field.value
|
|
195
|
+
}),
|
|
196
|
+
label: t('blocklet.config.session.phoneEnabled')
|
|
197
|
+
})
|
|
198
|
+
}), phoneEnabled && /*#__PURE__*/_jsxs(Stack, {
|
|
199
|
+
direction: "column",
|
|
200
|
+
ml: 2,
|
|
201
|
+
children: [/*#__PURE__*/_jsx(Controller, {
|
|
202
|
+
name: "phone.requireVerified",
|
|
203
|
+
control: control,
|
|
204
|
+
render: ({
|
|
205
|
+
field
|
|
206
|
+
}) => /*#__PURE__*/_jsx(FormControlLabel, {
|
|
207
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
208
|
+
...field,
|
|
209
|
+
checked: field.value
|
|
210
|
+
}),
|
|
211
|
+
label: t('blocklet.config.session.phoneRequireVerified')
|
|
212
|
+
})
|
|
213
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
214
|
+
name: "phone.requireUnique",
|
|
215
|
+
control: control,
|
|
216
|
+
render: ({
|
|
217
|
+
field
|
|
218
|
+
}) => /*#__PURE__*/_jsx(FormControlLabel, {
|
|
219
|
+
control: /*#__PURE__*/_jsx(Switch, {
|
|
220
|
+
...field,
|
|
221
|
+
checked: field.value
|
|
222
|
+
}),
|
|
223
|
+
label: t('blocklet.config.session.phoneRequireUnique')
|
|
84
224
|
})
|
|
85
|
-
}), /*#__PURE__*/_jsx(Slider, {
|
|
86
|
-
...field,
|
|
87
|
-
defaultValue: 7,
|
|
88
|
-
step: 1,
|
|
89
|
-
marks: [{
|
|
90
|
-
value: 1,
|
|
91
|
-
label: t('blocklet.config.session.day', {
|
|
92
|
-
day: 1
|
|
93
|
-
})
|
|
94
|
-
}, {
|
|
95
|
-
value: 7,
|
|
96
|
-
label: t('blocklet.config.session.days', {
|
|
97
|
-
day: 7
|
|
98
|
-
})
|
|
99
|
-
}, {
|
|
100
|
-
value: 14,
|
|
101
|
-
label: t('blocklet.config.session.days', {
|
|
102
|
-
day: 14
|
|
103
|
-
})
|
|
104
|
-
}, {
|
|
105
|
-
value: 21,
|
|
106
|
-
label: t('blocklet.config.session.days', {
|
|
107
|
-
day: 21
|
|
108
|
-
})
|
|
109
|
-
}, {
|
|
110
|
-
value: 30,
|
|
111
|
-
label: t('blocklet.config.session.days', {
|
|
112
|
-
day: 30
|
|
113
|
-
})
|
|
114
|
-
}],
|
|
115
|
-
min: 1,
|
|
116
|
-
max: 30,
|
|
117
|
-
valueLabelDisplay: "auto",
|
|
118
|
-
style: {
|
|
119
|
-
maxWidth: '360px'
|
|
120
|
-
}
|
|
121
225
|
})]
|
|
226
|
+
})]
|
|
227
|
+
})]
|
|
228
|
+
}), /*#__PURE__*/_jsxs(Stack, {
|
|
229
|
+
direction: "column",
|
|
230
|
+
spacing: 2,
|
|
231
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
232
|
+
variant: "body1",
|
|
233
|
+
children: t('blocklet.config.session.period')
|
|
234
|
+
}), /*#__PURE__*/_jsx(Controller, {
|
|
235
|
+
name: "ttl",
|
|
236
|
+
control: control,
|
|
237
|
+
rules: {
|
|
238
|
+
min: 1,
|
|
239
|
+
max: 30
|
|
240
|
+
},
|
|
241
|
+
render: ({
|
|
242
|
+
field
|
|
243
|
+
}) => /*#__PURE__*/_jsx(FormControl, {
|
|
244
|
+
fullWidth: true,
|
|
245
|
+
sx: {
|
|
246
|
+
mb: 2
|
|
247
|
+
},
|
|
248
|
+
children: /*#__PURE__*/_jsxs(Stack, {
|
|
249
|
+
px: 3,
|
|
250
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
251
|
+
mx: -3,
|
|
252
|
+
children: t('blocklet.config.session.ttl', {
|
|
253
|
+
day: field.value
|
|
254
|
+
})
|
|
255
|
+
}), /*#__PURE__*/_jsx(Slider, {
|
|
256
|
+
...field,
|
|
257
|
+
defaultValue: 7,
|
|
258
|
+
step: 1,
|
|
259
|
+
marks: [{
|
|
260
|
+
value: 1,
|
|
261
|
+
label: t('blocklet.config.session.day', {
|
|
262
|
+
day: 1
|
|
263
|
+
})
|
|
264
|
+
}, {
|
|
265
|
+
value: 7,
|
|
266
|
+
label: t('blocklet.config.session.days', {
|
|
267
|
+
day: 7
|
|
268
|
+
})
|
|
269
|
+
}, {
|
|
270
|
+
value: 14,
|
|
271
|
+
label: t('blocklet.config.session.days', {
|
|
272
|
+
day: 14
|
|
273
|
+
})
|
|
274
|
+
}, {
|
|
275
|
+
value: 21,
|
|
276
|
+
label: t('blocklet.config.session.days', {
|
|
277
|
+
day: 21
|
|
278
|
+
})
|
|
279
|
+
}, {
|
|
280
|
+
value: 30,
|
|
281
|
+
label: t('blocklet.config.session.days', {
|
|
282
|
+
day: 30
|
|
283
|
+
})
|
|
284
|
+
}],
|
|
285
|
+
min: 1,
|
|
286
|
+
max: 30,
|
|
287
|
+
valueLabelDisplay: "auto",
|
|
288
|
+
style: {
|
|
289
|
+
maxWidth: '360px'
|
|
290
|
+
}
|
|
291
|
+
})]
|
|
292
|
+
})
|
|
122
293
|
})
|
|
294
|
+
})]
|
|
295
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
296
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
297
|
+
type: "submit",
|
|
298
|
+
variant: "contained",
|
|
299
|
+
disabled: !formState.isDirty,
|
|
300
|
+
children: t('oauth.save')
|
|
123
301
|
})
|
|
124
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
125
|
-
type: "submit",
|
|
126
|
-
variant: "contained",
|
|
127
|
-
onSubmit: handleSubmit(onSubmit),
|
|
128
|
-
disabled: !formState.isDirty,
|
|
129
|
-
children: t('oauth.save')
|
|
130
302
|
})]
|
|
131
303
|
})
|
|
132
304
|
});
|
|
@@ -260,7 +260,7 @@ function FederatedSiteList({
|
|
|
260
260
|
});
|
|
261
261
|
const customButtons = [];
|
|
262
262
|
if (mode !== 'master') {
|
|
263
|
-
customButtons.push(
|
|
263
|
+
customButtons.push(/*#__PURE__*/_jsx(Button, {
|
|
264
264
|
size: "small",
|
|
265
265
|
variant: "contained",
|
|
266
266
|
color: "error",
|
|
@@ -271,7 +271,7 @@ function FederatedSiteList({
|
|
|
271
271
|
children: t('federated.quitFederatedLogin')
|
|
272
272
|
}, "quitFederatedLogin"));
|
|
273
273
|
} else {
|
|
274
|
-
customButtons.push(
|
|
274
|
+
customButtons.push(/*#__PURE__*/_jsx(Button, {
|
|
275
275
|
size: "small",
|
|
276
276
|
variant: "contained",
|
|
277
277
|
onClick: showInvite,
|
|
@@ -280,7 +280,7 @@ function FederatedSiteList({
|
|
|
280
280
|
},
|
|
281
281
|
children: t('federated.inviteJoinFederatedLogin')
|
|
282
282
|
}, "inviteJoinFederatedLogin"));
|
|
283
|
-
customButtons.push(
|
|
283
|
+
customButtons.push(/*#__PURE__*/_jsx(Button, {
|
|
284
284
|
color: "error",
|
|
285
285
|
size: "small",
|
|
286
286
|
variant: "contained",
|
|
@@ -123,7 +123,7 @@ function ConfigNavigation() {
|
|
|
123
123
|
await saveNavigationList(navigationState.rawNavigation);
|
|
124
124
|
Toast.success(t('common.succeeded'));
|
|
125
125
|
} catch (e) {
|
|
126
|
-
Toast.error(
|
|
126
|
+
Toast.error(/*#__PURE__*/_jsxs(Box, {
|
|
127
127
|
children: [/*#__PURE__*/_jsx(Typography, {
|
|
128
128
|
variant: "subtitle2",
|
|
129
129
|
children: t('navigation.actionFailed')
|
|
@@ -144,7 +144,7 @@ function ConfigNavigation() {
|
|
|
144
144
|
variant: 'success'
|
|
145
145
|
});
|
|
146
146
|
} catch (e) {
|
|
147
|
-
Toast.error(
|
|
147
|
+
Toast.error(/*#__PURE__*/_jsxs(Box, {
|
|
148
148
|
children: [/*#__PURE__*/_jsx(Typography, {
|
|
149
149
|
variant: "subtitle2",
|
|
150
150
|
children: t('navigation.actionFailed')
|
|
@@ -225,7 +225,7 @@ function Header({
|
|
|
225
225
|
type: releaseType
|
|
226
226
|
}
|
|
227
227
|
});
|
|
228
|
-
Toast.success(
|
|
228
|
+
Toast.success(/*#__PURE__*/_jsx(UploadedToast, {
|
|
229
229
|
storeName: store.storeName,
|
|
230
230
|
storeUrl: store.storeUrl,
|
|
231
231
|
developerDid: store.developerDid,
|
package/lib/locales/ar.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'تحديث مفتاح سر تطبيق',
|
|
489
489
|
sharedToAllComponents: 'سيتم مشاركته مع جميع المكونات',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'سيُطلب من المستخدم تسجيل الدخول مرة أخرى إذا لم يكن لديهم أي نشاط على هذا الموقع لمدة {day} يومًا.',
|
|
492
492
|
day: '{day} يوم',
|
|
493
|
-
days: '{day} أيام'
|
|
493
|
+
days: '{day} أيام',
|
|
494
|
+
period: 'فترة صلاحية الجلسة',
|
|
495
|
+
profile: 'متطلبات ملف تعريف المستخدم',
|
|
496
|
+
cacheTtl: 'مدة ذاكرة التخزين المؤقت لبيانات جلسة المستخدم (بالثواني)',
|
|
497
|
+
fullNameEnabled: 'طلب اسم المستخدم عند تسجيل الدخول (ممكّن بشكل افتراضي)',
|
|
498
|
+
avatarEnabled: 'اطلب صورة المستخدم عند تسجيل الدخول (مفعل افتراضيًا)',
|
|
499
|
+
emailEnabled: 'طلب بريد المستخدم عند تسجيل الدخول',
|
|
500
|
+
emailRequireVerified: 'يجب التحقق من بريد المستخدم الإلكتروني قبل تسجيل الدخول',
|
|
501
|
+
emailRequireUnique: 'طلب بريد المستخدم ليكون فريدًا عبر جميع المستخدمين',
|
|
502
|
+
phoneEnabled: 'طلب رقم هاتف المستخدم عند تسجيل الدخول (غير مدعوم بعد)',
|
|
503
|
+
phoneRequireVerified: 'يجب التحقق من رقم هاتف المستخدم قبل تسجيل الدخول',
|
|
504
|
+
phoneRequireUnique: 'تتطلب رقم هاتف المستخدم أن يكون فريدًا عبر جميع المستخدمين',
|
|
505
|
+
emailTrustOauthProviders: 'ثق بمزودي OAuth لحالة التحقق من البريد الإلكتروني'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'إدارة التخزين المؤقت',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'يعمل الحاوية على blocklet',
|
|
906
918
|
switchTips: 'بعد تمكين هذا الخيار، سيتم تشغيل البلوكلتس باستخدام حاويات، مما يمكن أن يحسن الأمان العام للخادم.',
|
|
907
919
|
notInstalled: 'تعذر تنشيط تشغيل الحاوية لأن Docker غير مثبت أو يفتقر إلى الصلاحيات اللازمة للتنفيذ',
|
|
908
|
-
needCloseFileSystemIsolation: 'لا يمكن تمكين عزل نظام الملفات
|
|
920
|
+
needCloseFileSystemIsolation: 'لا يمكن تمكين عزل نظام الملفات ووضع تشغيل حاوية Docker في نفس الوقت'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/de.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'Aktualisiere Anwendungsgeheimnis',
|
|
489
489
|
sharedToAllComponents: 'Wird an alle Komponenten geteilt werden',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'Der Benutzer wird aufgefordert, sich erneut anzumelden, wenn er {day} Tage lang keine Aktivität auf dieser Website hat.',
|
|
492
492
|
day: '{day} Tag',
|
|
493
|
-
days: '{day} Tage'
|
|
493
|
+
days: '{day} Tage',
|
|
494
|
+
period: 'Sitzung Gültigkeitsdauer',
|
|
495
|
+
profile: 'Benutzerprofilanforderungen',
|
|
496
|
+
cacheTtl: 'Cache-Dauer für Benutzersitzungsdaten (in Sekunden)',
|
|
497
|
+
fullNameEnabled: 'Benutzernamen bei der Anmeldung anfordern (standardmäßig aktiviert)',
|
|
498
|
+
avatarEnabled: 'Benutzerfoto beim Anmelden anfordern (standardmäßig aktiviert)',
|
|
499
|
+
emailEnabled: 'Benutzer-E-Mail bei Anmeldung anfordern',
|
|
500
|
+
emailRequireVerified: 'Benutzer-E-Mail muss vor dem Login verifiziert werden',
|
|
501
|
+
emailRequireUnique: 'Benötigen Sie die E-Mail des Benutzers, um eindeutig über alle Benutzer hinweg zu sein',
|
|
502
|
+
phoneEnabled: 'Benutzer-Telefonnummer bei der Anmeldung anfordern (noch nicht unterstützt)',
|
|
503
|
+
phoneRequireVerified: 'Benutzerhandynummer muss vor der Anmeldung überprüft werden',
|
|
504
|
+
phoneRequireUnique: 'Benötigen Sie eine eindeutige Telefonnummer für Benutzer in der gesamten Benutzerbasis',
|
|
505
|
+
emailTrustOauthProviders: 'Vertraue OAuth-Anbietern für den E-Mail-Verifizierungsstatus'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'Cache-Verwaltung',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'Container führt Blocklet aus',
|
|
906
918
|
switchTips: 'Nachdem Sie diese Option aktiviert haben, werden die Blocklets unter Verwendung von Containern ausgeführt, was die Gesamtsicherheit des Servers verbessern kann.',
|
|
907
919
|
notInstalled: 'Containerausführung kann nicht aktiviert werden, da Docker nicht installiert ist oder über die erforderlichen Berechtigungen zur Ausführung verfügt',
|
|
908
|
-
needCloseFileSystemIsolation: 'Dateisystemisolierung und Container-
|
|
920
|
+
needCloseFileSystemIsolation: 'Dateisystemisolierung und Docker-Container-Modus-Laufzeit können nicht gleichzeitig aktiviert werden'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/en.js
CHANGED
|
@@ -496,9 +496,21 @@ export default {
|
|
|
496
496
|
appSkTitle: 'Update Application Secret Key',
|
|
497
497
|
sharedToAllComponents: 'Will be shared to all components',
|
|
498
498
|
session: {
|
|
499
|
-
|
|
499
|
+
period: 'Session validity period',
|
|
500
|
+
profile: 'User profile requirements',
|
|
501
|
+
ttl: 'User will be asked to login again if they have no activity on this site for {day} days',
|
|
500
502
|
day: '{day} day',
|
|
501
|
-
days: '{day} days'
|
|
503
|
+
days: '{day} days',
|
|
504
|
+
cacheTtl: 'Cache duration for user session data (in seconds)',
|
|
505
|
+
fullNameEnabled: 'Request user name on login (enabled by default)',
|
|
506
|
+
avatarEnabled: 'Request user avatar on login (enabled by default)',
|
|
507
|
+
emailEnabled: 'Request user email on login',
|
|
508
|
+
emailRequireVerified: 'Require user email to be verified before login',
|
|
509
|
+
emailRequireUnique: 'Require user email to be unique across all users',
|
|
510
|
+
phoneEnabled: 'Request user phone number on login (not supported yet)',
|
|
511
|
+
phoneRequireVerified: 'Require user phone number to be verified before login',
|
|
512
|
+
phoneRequireUnique: 'Require user phone number to be unique across all users',
|
|
513
|
+
emailTrustOauthProviders: 'Trust OAuth providers for email verification status'
|
|
502
514
|
},
|
|
503
515
|
clearCache: {
|
|
504
516
|
name: 'Cache Management',
|
package/lib/locales/es.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'Actualizar Clave Secreta de la Aplicación',
|
|
489
489
|
sharedToAllComponents: 'Se compartirá con todos los componentes',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'Se pedirá al usuario que vuelva a iniciar sesión si no tiene actividad en este sitio durante {day} días',
|
|
492
492
|
day: '{day} día',
|
|
493
|
-
days: '{day} días'
|
|
493
|
+
days: '{day} días',
|
|
494
|
+
period: 'Periodo de validez de sesión',
|
|
495
|
+
profile: 'Requisitos del perfil de usuario',
|
|
496
|
+
cacheTtl: 'Duración de caché para datos de sesión de usuario (en segundos)',
|
|
497
|
+
fullNameEnabled: 'Solicitar nombre de usuario al iniciar sesión (habilitado de forma predeterminada)',
|
|
498
|
+
avatarEnabled: 'Solicitar avatar de usuario al iniciar sesión (habilitado por defecto)',
|
|
499
|
+
emailEnabled: 'Solicitar correo electrónico del usuario al iniciar sesión',
|
|
500
|
+
emailRequireVerified: 'Requiere que el correo electrónico del usuario sea verificado antes de iniciar sesión',
|
|
501
|
+
emailRequireUnique: 'Requerir que el correo electrónico del usuario sea único en todos los usuarios',
|
|
502
|
+
phoneEnabled: 'Solicitar número de teléfono del usuario al iniciar sesión (aún no compatible)',
|
|
503
|
+
phoneRequireVerified: 'Requerir verificación del número de teléfono del usuario antes de iniciar sesión',
|
|
504
|
+
phoneRequireUnique: 'Requerir que el número de teléfono del usuario sea único entre todos los usuarios',
|
|
505
|
+
emailTrustOauthProviders: 'Confíe en los proveedores de OAuth para verificar el estado del correo electrónico'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'Gestión de la Caché',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'El contenedor ejecuta el Bloquelete',
|
|
906
918
|
switchTips: 'Después de habilitar esta opción, los blocklets se ejecutarán utilizando contenedores, lo que puede mejorar la seguridad general del servidor.',
|
|
907
919
|
notInstalled: 'No se puede activar el contenedor de ejecución porque Docker no está instalado o no tiene los permisos necesarios para ejecutar',
|
|
908
|
-
needCloseFileSystemIsolation: 'El aislamiento del sistema de archivos y
|
|
920
|
+
needCloseFileSystemIsolation: 'El aislamiento del sistema de archivos y el modo de contenedor Docker no se pueden habilitar al mismo tiempo'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/fr.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: "Mettre à jour la clé secrète de l'application",
|
|
489
489
|
sharedToAllComponents: 'Sera partagé à tous les composants',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: "
|
|
491
|
+
ttl: "L'utilisateur sera invité à se connecter à nouveau s'ils n'ont aucune activité sur ce site pendant {day} jours.",
|
|
492
492
|
day: '{day} jour',
|
|
493
|
-
days: '{day} jours'
|
|
493
|
+
days: '{day} jours',
|
|
494
|
+
period: 'Durée de validité de la session',
|
|
495
|
+
profile: 'Exigences du profil utilisateur',
|
|
496
|
+
cacheTtl: 'Durée du cache pour les données de session utilisateur (en secondes)',
|
|
497
|
+
fullNameEnabled: "Demander le nom d'utilisateur à la connexion (activé par défaut)",
|
|
498
|
+
avatarEnabled: "Demander l'avatar de l'utilisateur à la connexion (activé par défaut)",
|
|
499
|
+
emailEnabled: "Demander l'e-mail de l'utilisateur lors de la connexion",
|
|
500
|
+
emailRequireVerified: "Exiger la vérification de l'e-mail de l'utilisateur avant la connexion",
|
|
501
|
+
emailRequireUnique: "Exiger que l'e-mail de l'utilisateur soit unique pour tous les utilisateurs",
|
|
502
|
+
phoneEnabled: "Demander le numéro de téléphone de l'utilisateur lors de la connexion (non pris en charge pour le moment)",
|
|
503
|
+
phoneRequireVerified: "Le numéro de téléphone de l'utilisateur doit être vérifié avant de se connecter",
|
|
504
|
+
phoneRequireUnique: "Exiger un numéro de téléphone unique pour l'ensemble des utilisateurs",
|
|
505
|
+
emailTrustOauthProviders: "Faites confiance aux fournisseurs OAuth pour le statut de vérification de l'email"
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'Gestion du cache',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'Le conteneur exécute le blocklet',
|
|
906
918
|
switchTips: "Après avoir activé cette option, les blocs seront exécutés à l'aide de conteneurs, ce qui peut améliorer la sécurité globale du serveur.",
|
|
907
919
|
notInstalled: "Impossible d'activer l'exécution du conteneur car Docker n'est pas installé ou manque des autorisations nécessaires pour s'exécuter",
|
|
908
|
-
needCloseFileSystemIsolation: "L'isolation du système de fichiers et le
|
|
920
|
+
needCloseFileSystemIsolation: "L'isolation du système de fichiers et le mode d'exécution du conteneur docker ne peuvent pas être activés en même temps"
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/hi.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'अनुप्रयोग सीक्रेट कुंजी को अद्यतित करें',
|
|
489
489
|
sharedToAllComponents: 'सभी कॉम्पोनेंट्स के साथ साझा किया जाएगा',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: 'लॉगिन
|
|
491
|
+
ttl: 'उपयोगकर्ता से पुनः लॉगिन करने के लिए कहा जाएगा अगर उनके पास इस साइट पर {day} दिनों तक कोई गतिविधि नहीं है।',
|
|
492
492
|
day: '{day} दिन',
|
|
493
|
-
days: '{day} दिन'
|
|
493
|
+
days: '{day} दिन',
|
|
494
|
+
period: 'सत्र मान्यता अवधि',
|
|
495
|
+
profile: 'उपयोगकर्ता प्रोफ़ाइल आवश्यकताएँ',
|
|
496
|
+
cacheTtl: 'उपयोगकर्ता सत्र डेटा के लिए कैश समयावधि (सेकंड में)',
|
|
497
|
+
fullNameEnabled: 'लॉगिन पर उपयोगकर्ता का नाम अनुरोध करें (डिफ़ॉल्ट तरीके से सक्षम)',
|
|
498
|
+
avatarEnabled: 'लॉगिन पर उपयोगकर्ता अवतार का अनुरोध करें (डिफ़ॉल्ट रूप से सक्षम)',
|
|
499
|
+
emailEnabled: 'लॉगिन पर उपयोगकर्ता ईमेल का अनुरोध करें',
|
|
500
|
+
emailRequireVerified: 'लॉगिन से पहले उपयोगकर्ता ईमेल को सत्यापित करना आवश्यक है',
|
|
501
|
+
emailRequireUnique: 'सभी उपयोगकर्ताओं के बीच उपयोगकर्ता ईमेल को अद्वितीय होने की आवश्यकता होती है',
|
|
502
|
+
phoneEnabled: 'लॉगिन पर उपयोगकर्ता का फोन नंबर अनुरोध करें (अभी तक समर्थित नहीं है)',
|
|
503
|
+
phoneRequireVerified: 'लॉगिन से पहले उपयोगकर्ता का फ़ोन नंबर सत्यापित करना आवश्यक है',
|
|
504
|
+
phoneRequireUnique: 'सभी उपयोगकर्ताओं के लिए उपयोगकर्ता फ़ोन नंबर को अद्वितीय बनाना आवश्यक है',
|
|
505
|
+
emailTrustOauthProviders: 'ईमेल सत्यापन स्थिति के लिए OAuth प्रदाताओं पर भरोसा करें'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'कैश प्रबंधन',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'कंटेनर ब्लॉकलेट चलाता है',
|
|
906
918
|
switchTips: 'इस विकल्प को सक्रिय करने के बाद, ब्लॉकलेट कंटेनर का उपयोग करके चलाए जाएंगे, जो सर्वर की कुल सुरक्षा को बेहतर बना सकता है।',
|
|
907
919
|
notInstalled: 'कॉन्टेनर रन को सक्रिय नहीं कर सकता क्योंकि डॉकर स्थापित नहीं है या आवश्यक अनुमतियों की कमी है',
|
|
908
|
-
needCloseFileSystemIsolation: '
|
|
920
|
+
needCloseFileSystemIsolation: 'फाइल सिस्टम विभाजन और डॉकर कंटेनर मोड रनटाइम को एक साथ सक्रिय नहीं किया जा सकता'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/i18n.db
CHANGED
|
Binary file
|
package/lib/locales/id.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'Perbarui Kunci Rahasia Aplikasi',
|
|
489
489
|
sharedToAllComponents: 'Akan dibagikan ke semua komponen',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'Pengguna akan diminta untuk login lagi jika tidak ada aktivitas di situs ini selama {hari} hari',
|
|
492
492
|
day: '{day} hari',
|
|
493
|
-
days: '{day} hari'
|
|
493
|
+
days: '{day} hari',
|
|
494
|
+
period: 'Periode validitas sesi',
|
|
495
|
+
profile: 'Persyaratan profil pengguna',
|
|
496
|
+
cacheTtl: 'Durasi cache untuk data sesi pengguna (dalam detik)',
|
|
497
|
+
fullNameEnabled: 'Meminta nama pengguna saat login (diaktifkan secara default)',
|
|
498
|
+
avatarEnabled: 'Minta avatar pengguna saat login (diaktifkan secara default)',
|
|
499
|
+
emailEnabled: 'Meminta email pengguna saat login',
|
|
500
|
+
emailRequireVerified: 'Memerlukan email pengguna untuk diverifikasi sebelum login',
|
|
501
|
+
emailRequireUnique: 'Memerlukan email pengguna untuk menjadi unik di antara semua pengguna',
|
|
502
|
+
phoneEnabled: 'Meminta nomor telepon pengguna saat login (belum didukung)',
|
|
503
|
+
phoneRequireVerified: 'Memerlukan nomor telepon pengguna untuk diverifikasi sebelum login',
|
|
504
|
+
phoneRequireUnique: 'Haruslah nomor telepon pengguna unik di antara semua pengguna',
|
|
505
|
+
emailTrustOauthProviders: 'Percayai penyedia OAuth untuk status verifikasi email'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'Manajemen Cache',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'Container menjalankan blocklet',
|
|
906
918
|
switchTips: 'Setelah mengaktifkan opsi ini, blocklets akan dijalankan menggunakan kontainer, yang dapat meningkatkan keamanan keseluruhan server.',
|
|
907
919
|
notInstalled: 'Tidak dapat mengaktifkan jalankan kontainer karena Docker tidak terinstal atau tidak memiliki izin yang diperlukan untuk mengeksekusi.',
|
|
908
|
-
needCloseFileSystemIsolation: 'Isolasi sistem file dan
|
|
920
|
+
needCloseFileSystemIsolation: 'Isolasi sistem file dan mode kontainer docker tidak dapat diaktifkan secara bersamaan'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/ja.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'アプリケーションシークレットキーの更新',
|
|
489
489
|
sharedToAllComponents: 'すべてのコンポーネントで共有されます',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'ユーザーがこのサイトで {day} 日間活動がない場合、再ログインを求められます',
|
|
492
492
|
day: '{day}日',
|
|
493
|
-
days: '{day} 日間'
|
|
493
|
+
days: '{day} 日間',
|
|
494
|
+
period: 'セッション有効期間',
|
|
495
|
+
profile: 'ユーザープロフィール要件',
|
|
496
|
+
cacheTtl: 'ユーザーセッションデータのキャッシュ期間(秒単位)',
|
|
497
|
+
fullNameEnabled: 'ログイン時にユーザー名をリクエストする(デフォルトで有効)',
|
|
498
|
+
avatarEnabled: 'ログイン時にユーザーのアバターを要求します(デフォルトで有効)',
|
|
499
|
+
emailEnabled: 'ログイン時にユーザーの電子メールをリクエストする',
|
|
500
|
+
emailRequireVerified: 'ログイン前にユーザーの電子メールを確認する必要があります',
|
|
501
|
+
emailRequireUnique: 'すべてのユーザー全体でユーザーの電子メールが一意であることを要求する',
|
|
502
|
+
phoneEnabled: 'ログイン時にユーザーの電話番号をリクエストする(まだサポートされていません)',
|
|
503
|
+
phoneRequireVerified: 'ログイン前にユーザーの電話番号を確認する必要があります',
|
|
504
|
+
phoneRequireUnique: 'すべてのユーザー全体でユーザーの電話番号が一意であることを要求する',
|
|
505
|
+
emailTrustOauthProviders: 'メール確認ステータスのOAuthプロバイダーを信頼する'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'キャッシュ管理',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'コンテナがブロックレットを実行します',
|
|
906
918
|
switchTips: 'このオプションを有効にすると、ブロックレットがコンテナを使用して実行されるため、サーバーの全体的なセキュリティが向上します。',
|
|
907
919
|
notInstalled: 'Dockerがインストールされていないか、必要な権限がないため、コンテナランをアクティブ化できません',
|
|
908
|
-
needCloseFileSystemIsolation: '
|
|
920
|
+
needCloseFileSystemIsolation: 'ファイルシステムの分離とDockerコンテナモードの実行は同時に有効にすることはできません'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/ko.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: '애플리케이션 시크릿 키 업데이트',
|
|
489
489
|
sharedToAllComponents: '모든 구성 요소와 공유될 예정입니다',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: '{day} 일 동안 이 사이트에서 활동이 없는 경우 사용자에게 다시 로그인하라는 안내가 표시됩니다',
|
|
492
492
|
day: '{day}일',
|
|
493
|
-
days: '{day} 일'
|
|
493
|
+
days: '{day} 일',
|
|
494
|
+
period: '세션 유효 기간',
|
|
495
|
+
profile: '사용자 프로필 요구 사항',
|
|
496
|
+
cacheTtl: '사용자 세션 데이터의 캐시 기간 (초 단위)',
|
|
497
|
+
fullNameEnabled: '로그인 시 사용자 이름 요청 (기본 설정으로 활성화)',
|
|
498
|
+
avatarEnabled: '로그인시 사용자 아바타 요청 (기본으로 활성화)',
|
|
499
|
+
emailEnabled: '로그인시 사용자 이메일 요청',
|
|
500
|
+
emailRequireVerified: '사용자 이메일이 로그인하기 전에 확인되어야 함',
|
|
501
|
+
emailRequireUnique: '모든 사용자 전체에서 사용자 이메일이 고유해야 함',
|
|
502
|
+
phoneEnabled: '로그인시 사용자 전화번호 요청 (아직 지원되지 않음)',
|
|
503
|
+
phoneRequireVerified: '로그인 전에 사용자 전화번호를 확인해야 합니다',
|
|
504
|
+
phoneRequireUnique: '모든 사용자를 통틀어 사용자 전화번호가 고유해야 함',
|
|
505
|
+
emailTrustOauthProviders: '이메일 확인 상태를 위한 OAuth 제공 업체 신뢰'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: '캐시 관리',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: '컨테이너가 블록릿을 실행합니다',
|
|
906
918
|
switchTips: '이 옵션을 활성화 한 후에는 블록이 컨테이너를 사용하여 실행되어 서버의 전반적인 보안이 향상될 수 있습니다.',
|
|
907
919
|
notInstalled: '도커가 설치되어 있지 않거나 실행에 필요한 권한이 부족하여 컨테이너 실행을 활성화할 수 없습니다',
|
|
908
|
-
needCloseFileSystemIsolation: '파일 시스템
|
|
920
|
+
needCloseFileSystemIsolation: '파일 시스템 격리 및 도커 컨테이너 모드런타임은 동시에 활성화될 수 없습니다'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/pt.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'Atualizar Chave Secreta do Aplicativo',
|
|
489
489
|
sharedToAllComponents: 'Será compartilhado com todos os componentes',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'O usuário será solicitado a fazer login novamente se não tiver atividade neste site por {dia} dias',
|
|
492
492
|
day: '{day} dia',
|
|
493
|
-
days: '{day} dias'
|
|
493
|
+
days: '{day} dias',
|
|
494
|
+
period: 'Período de validade da sessão',
|
|
495
|
+
profile: 'Requisitos do perfil do usuário',
|
|
496
|
+
cacheTtl: 'Duração do cache para dados da sessão do usuário (em segundos)',
|
|
497
|
+
fullNameEnabled: 'Solicitar nome do usuário ao fazer o login (ativado por padrão)',
|
|
498
|
+
avatarEnabled: 'Solicitar avatar do usuário no login (ativado por padrão)',
|
|
499
|
+
emailEnabled: 'Solicitar e-mail do usuário no login',
|
|
500
|
+
emailRequireVerified: 'Exigir que o email do usuário seja verificado antes do login',
|
|
501
|
+
emailRequireUnique: 'Exigir que o e-mail do usuário seja único entre todos os usuários',
|
|
502
|
+
phoneEnabled: 'Solicitar número de telefone do usuário no login (ainda não suportado)',
|
|
503
|
+
phoneRequireVerified: 'Exigir que o número de telefone do usuário seja verificado antes de fazer login',
|
|
504
|
+
phoneRequireUnique: 'O número de telefone do usuário deve ser exclusivo entre todos os usuários',
|
|
505
|
+
emailTrustOauthProviders: 'Confie nos provedores OAuth para o status de verificação de email'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'Gerenciamento de Cache',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'O contêiner executa o blocklet',
|
|
906
918
|
switchTips: 'Após ativar esta opção, os blocklets serão executados usando contêineres, o que pode melhorar a segurança geral do servidor.',
|
|
907
919
|
notInstalled: 'Não é possível ativar a execução do contêiner porque o Docker não está instalado ou não possui as permissões necessárias para executar.',
|
|
908
|
-
needCloseFileSystemIsolation: '
|
|
920
|
+
needCloseFileSystemIsolation: 'O isolamento do sistema de arquivos e o modo de contêiner docker não podem ser ativados ao mesmo tempo'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/ru.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'Обновить секретный ключ приложения',
|
|
489
489
|
sharedToAllComponents: 'Будет разделено на все компоненты',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'Пользователя попросят войти в систему еще раз, если на этом сайте у них не было активности в течение {day} дней.',
|
|
492
492
|
day: '{day} день',
|
|
493
|
-
days: '{day} дней'
|
|
493
|
+
days: '{day} дней',
|
|
494
|
+
period: 'Срок действия сессии',
|
|
495
|
+
profile: 'Требования к профилю пользователя',
|
|
496
|
+
cacheTtl: 'Время кэширования для данных сеанса пользователя (в секундах)',
|
|
497
|
+
fullNameEnabled: 'Запросить имя пользователя при входе (включено по умолчанию)',
|
|
498
|
+
avatarEnabled: 'Запросить аватар пользователя при входе (включено по умолчанию)',
|
|
499
|
+
emailEnabled: 'Запросить адрес электронной почты пользователя при входе',
|
|
500
|
+
emailRequireVerified: 'Требовать подтверждения электронной почты пользователя перед входом',
|
|
501
|
+
emailRequireUnique: 'Требуется сделать адрес электронной почты пользователя уникальным по всем пользователям',
|
|
502
|
+
phoneEnabled: 'Запросить номер телефона пользователя при входе (пока не поддерживается)',
|
|
503
|
+
phoneRequireVerified: 'Требуется подтверждение номера телефона пользователя перед входом',
|
|
504
|
+
phoneRequireUnique: 'Требуется, чтобы номер телефона пользователя был уникальным для всех пользователей',
|
|
505
|
+
emailTrustOauthProviders: 'Доверьте поставщикам OAuth статус проверки электронной почты'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'Управление кэшем',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'Контейнер запускает блоклет',
|
|
906
918
|
switchTips: 'После включения этой опции, блоклеты будут запускаться с использованием контейнеров, что может улучшить общую безопасность сервера.',
|
|
907
919
|
notInstalled: 'Невозможно активировать запуск контейнера, потому что Docker не установлен или не имеет необходимых разрешений для выполнения',
|
|
908
|
-
needCloseFileSystemIsolation: 'Изоляция файловой системы и
|
|
920
|
+
needCloseFileSystemIsolation: 'Изоляция файловой системы и режим выполнения контейнера docker не могут быть включены одновременно'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/th.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'อัปเดตคีย์ลับแอปพลิเคชัน',
|
|
489
489
|
sharedToAllComponents: 'จะถูกแบ่งปันให้กับองค์ประกอบทั้งหมด',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'ผู้ใช้จะถูกขอให้เข้าสู่ระบบอีกครั้งหากไม่มีกิจกรรมบนเว็บไซต์นี้เป็นเวลา {วัน} วัน',
|
|
492
492
|
day: '{day} วัน',
|
|
493
|
-
days: '{day} วัน'
|
|
493
|
+
days: '{day} วัน',
|
|
494
|
+
period: 'ระยะเวลาความถูกต้องของเซสชัน',
|
|
495
|
+
profile: 'ความต้องการของโปรไฟล์ผู้ใข้',
|
|
496
|
+
cacheTtl: 'ระยะเวลาแคชสำหรับข้อมูลเซสชันของผู้ใช้ (เป็นวินาที)',
|
|
497
|
+
fullNameEnabled: 'ขอชื่อผู้ใช้เมื่อเข้าสู่ระบบ (เปิดใช้งานตามค่าเริ่มต้น)',
|
|
498
|
+
avatarEnabled: 'ขออวาตาร์ผู้ใช้เมื่อเข้าสู่ระบบ (เปิดใช้งานโดยค่าเริ่มต้น)',
|
|
499
|
+
emailEnabled: 'ขออีเมลของผู้ใช้เมื่อเข้าสู่ระบบ',
|
|
500
|
+
emailRequireVerified: 'ต้องการให้ที่อยู่อีเมลของผู้ใช้ได้รับการตรวจสอบก่อนการเข้าสู่ระบบ',
|
|
501
|
+
emailRequireUnique: 'ต้องการให้อีเมลผู้ใช้เป็นที่แตกต่างกันในทุกผู้ใช้',
|
|
502
|
+
phoneEnabled: 'ขอหมายเลขโทรศัพท์ผู้ใช้เมื่อเข้าสู่ระบบ (ยังไม่รองรับ)',
|
|
503
|
+
phoneRequireVerified: 'ต้องการให้หมายเลขโทรศัพท์ของผู้ใช้ได้รับการยืนยันก่อนการเข้าสู่ระบบ',
|
|
504
|
+
phoneRequireUnique: 'ต้องการหมายเลขโทรศัพท์ของผู้ใช้เพื่อเป็นเอกลักษณ์ในทุกผู้ใช้',
|
|
505
|
+
emailTrustOauthProviders: '信任 OAuth ในสถานะการตรวจสอบอีเมล'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'การจัดการแคช',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'คอนเทนเนอร์ทำงานบล็อกเลต',
|
|
906
918
|
switchTips: 'หลังจากเปิดใช้งานตัวเลือกนี้ blocklets จะทำงานโดยใช้คอนเทนเนอร์ซึ่งสามารถเพิ่มความปลอดภัยของเซิร์ฟเวอร์โดยรวม',
|
|
907
919
|
notInstalled: 'ไม่สามารถเปิดใช้งานคอนเทนเนอร์เนื่องจาก Docker ไม่ได้ติดตั้งหรือขาดสิทธิ์ที่จำเป็นในการดำเนินการ',
|
|
908
|
-
needCloseFileSystemIsolation: '
|
|
920
|
+
needCloseFileSystemIsolation: 'การแยกระบบไฟล์และโหมดคอนเทนเนอร์ด็อกเกอร์ไม่สามารถเปิดใช้งานได้พร้อมกัน'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/vi.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: 'Cập nhật Khoá Bí Mật Ứng Dụng',
|
|
489
489
|
sharedToAllComponents: 'Sẽ được chia sẻ cho tất cả các thành phần',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: 'Người dùng sẽ được yêu cầu đăng nhập lại nếu không có hoạt động trên trang web này trong {ngày} ngày',
|
|
492
492
|
day: '{day} ngày',
|
|
493
|
-
days: '{day} ngày'
|
|
493
|
+
days: '{day} ngày',
|
|
494
|
+
period: 'Thời gian hiệu lực phiên',
|
|
495
|
+
profile: 'Yêu cầu hồ sơ người dùng',
|
|
496
|
+
cacheTtl: 'Thời gian lưu trữ cache cho dữ liệu phiên người dùng (theo giây)',
|
|
497
|
+
fullNameEnabled: 'Yêu cầu tên người dùng khi đăng nhập (được bật mặc định)',
|
|
498
|
+
avatarEnabled: 'Yêu cầu avatar người dùng khi đăng nhập (được kích hoạt mặc định)',
|
|
499
|
+
emailEnabled: 'Yêu cầu email người dùng khi đăng nhập',
|
|
500
|
+
emailRequireVerified: 'Yêu cầu xác minh email người dùng trước khi đăng nhập',
|
|
501
|
+
emailRequireUnique: 'Yêu cầu email người dùng là duy nhất trong tất cả người dùng',
|
|
502
|
+
phoneEnabled: 'Yêu cầu số điện thoại người dùng khi đăng nhập (chưa được hỗ trợ)',
|
|
503
|
+
phoneRequireVerified: 'Yêu cầu xác minh số điện thoại người dùng trước khi đăng nhập',
|
|
504
|
+
phoneRequireUnique: 'Yêu cầu số điện thoại người dùng phải duy nhất trong tất cả người dùng',
|
|
505
|
+
emailTrustOauthProviders: 'Tin tưởng các nhà cung cấp OAuth để kiểm tra trạng thái xác minh email'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: 'Quản lý Cache',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: 'Container chạy blocklet',
|
|
906
918
|
switchTips: 'Sau khi kích hoạt tùy chọn này, các blocklet sẽ chạy bằng cách sử dụng container, có thể cải thiện bảo mật tổng thể của máy chủ.',
|
|
907
919
|
notInstalled: 'Không thể kích hoạt chạy container vì Docker chưa được cài đặt hoặc thiếu quyền cần thiết để thực thi.',
|
|
908
|
-
needCloseFileSystemIsolation: 'Cách ly hệ thống
|
|
920
|
+
needCloseFileSystemIsolation: 'Cách ly hệ thống tệp và chế độ thùng chứa docker không thể được kích hoạt cùng một lúc'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/zh-tw.js
CHANGED
|
@@ -488,9 +488,21 @@ export default {
|
|
|
488
488
|
appSkTitle: '更新應用程式秘鑰',
|
|
489
489
|
sharedToAllComponents: '將分享給所有組件',
|
|
490
490
|
session: {
|
|
491
|
-
ttl: '
|
|
491
|
+
ttl: '如果使用者在此網站上沒有任何活動 {day} 天,將被要求重新登錄',
|
|
492
492
|
day: '{day}天',
|
|
493
|
-
days: '{day} 天'
|
|
493
|
+
days: '{day} 天',
|
|
494
|
+
period: '會話有效期',
|
|
495
|
+
profile: '使用者個人檔案需求',
|
|
496
|
+
cacheTtl: '用戶會話數據的快取持續時間(以秒為單位)',
|
|
497
|
+
fullNameEnabled: '登錄時請求使用者名稱(預設啟用)',
|
|
498
|
+
avatarEnabled: '登錄時請求使用者頭像(默認啟用)',
|
|
499
|
+
emailEnabled: '在登錄時請求使用者電子郵件',
|
|
500
|
+
emailRequireVerified: '要求使用者在登入前驗證電子郵件',
|
|
501
|
+
emailRequireUnique: '要求使用者電子郵件在所有使用者中是唯一的',
|
|
502
|
+
phoneEnabled: '在登錄時請求使用者電話號碼(目前不支援)',
|
|
503
|
+
phoneRequireVerified: '在登錄前要求用戶驗證電話號碼',
|
|
504
|
+
phoneRequireUnique: '要求使用者電話號碼在所有用戶中是唯一的',
|
|
505
|
+
emailTrustOauthProviders: '信任OAuth提供商進行電子郵件驗證狀態'
|
|
494
506
|
},
|
|
495
507
|
clearCache: {
|
|
496
508
|
name: '快取管理',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: '容器運行區塊',
|
|
906
918
|
switchTips: '啟用此選項後,區塊將使用容器運行,可提高伺服器的整體安全性。',
|
|
907
919
|
notInstalled: '無法啟用容器運行,因為未安裝Docker或缺少執行所需的權限',
|
|
908
|
-
needCloseFileSystemIsolation: '
|
|
920
|
+
needCloseFileSystemIsolation: '檔案系統隔離和Docker容器模式運行時不能同時啟用'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/locales/zh.js
CHANGED
|
@@ -489,9 +489,21 @@ export default {
|
|
|
489
489
|
appSkTitle: '修改应用私钥',
|
|
490
490
|
sharedToAllComponents: '将共享给所有组件',
|
|
491
491
|
session: {
|
|
492
|
-
ttl: '
|
|
492
|
+
ttl: '如果用户在此网站上没有任何活动 {day} 天,将被要求重新登录',
|
|
493
493
|
day: '{day} 天',
|
|
494
|
-
days: '{day} 天'
|
|
494
|
+
days: '{day} 天',
|
|
495
|
+
period: '会话有效期',
|
|
496
|
+
profile: '用户个人资料要求',
|
|
497
|
+
cacheTtl: '用户会话数据的缓存持续时间(以秒为单位)',
|
|
498
|
+
fullNameEnabled: '登录时请求用户名(默认启用)',
|
|
499
|
+
avatarEnabled: '登录时请求用户头像(默认启用)',
|
|
500
|
+
emailEnabled: '在登录时请求用户电子邮件',
|
|
501
|
+
emailRequireVerified: '要求用户在登录前验证电子邮件',
|
|
502
|
+
emailRequireUnique: '要求用户电子邮件在所有用户中是唯一的',
|
|
503
|
+
phoneEnabled: '在登录时请求用户电话号码(目前不支持)',
|
|
504
|
+
phoneRequireVerified: '在登录前要求用户验证电话号码',
|
|
505
|
+
phoneRequireUnique: '要求用户电话号码在所有用户中是唯一的',
|
|
506
|
+
emailTrustOauthProviders: '信任OAuth提供商进行电子邮件验证状态'
|
|
495
507
|
},
|
|
496
508
|
clearCache: {
|
|
497
509
|
name: '缓存管理',
|
|
@@ -905,7 +917,7 @@ export default {
|
|
|
905
917
|
switchLabel: '容器运行区块',
|
|
906
918
|
switchTips: '启用此选项后,块将使用容器运行,可以提高服务器的整体安全性。',
|
|
907
919
|
notInstalled: '无法激活容器运行,因为未安装Docker或缺少执行所需的权限',
|
|
908
|
-
needCloseFileSystemIsolation: '
|
|
920
|
+
needCloseFileSystemIsolation: '文件系统隔离和Docker容器模式运行时不能同时启用'
|
|
909
921
|
}
|
|
910
922
|
},
|
|
911
923
|
accessKey: {
|
package/lib/lost-passport.js
CHANGED
|
@@ -24,16 +24,10 @@ import CardSelector from './card-selector';
|
|
|
24
24
|
import DidAddress from './did-address';
|
|
25
25
|
import wrapLocale from './wrap-locale';
|
|
26
26
|
import usePassportId from './hooks/use-passport-id';
|
|
27
|
-
import {
|
|
28
|
-
const isFromWallet = () => {
|
|
29
|
-
const {
|
|
30
|
-
searchParams
|
|
31
|
-
} = new URL(window.location.href);
|
|
32
|
-
// NOTICE: 这个参数由钱包中拼接得来,用于判断是否来源于钱包客户端(可以走不同的处理逻辑)
|
|
33
|
-
return searchParams.get('fromWallet') === '1';
|
|
34
|
-
};
|
|
27
|
+
import { isFromWallet } from './util';
|
|
35
28
|
|
|
36
29
|
// eslint-disable-next-line react/prop-types
|
|
30
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
37
31
|
function ColorStepIcon({
|
|
38
32
|
icon,
|
|
39
33
|
active,
|
|
@@ -232,13 +226,19 @@ function LostPassport({
|
|
|
232
226
|
list: pageState.user.passportTypes.map(x => {
|
|
233
227
|
return {
|
|
234
228
|
src: createPassportSvg({
|
|
235
|
-
|
|
229
|
+
scope: x.scope,
|
|
230
|
+
role: x.role,
|
|
231
|
+
title: x.scope === 'passport' ? x.title : x.name,
|
|
236
232
|
issuer: x.issuer.name,
|
|
237
233
|
issuerDid: x.issuer.id,
|
|
238
234
|
ownerDid: pageState.user.did,
|
|
239
235
|
ownerName: pageState.user.fullName,
|
|
240
236
|
ownerAvatarUrl: pageState.user.avatar,
|
|
241
|
-
preferredColor: passportColor || 'auto'
|
|
237
|
+
preferredColor: passportColor || 'auto',
|
|
238
|
+
extra: x.scope === 'kyc' ? {
|
|
239
|
+
key: 'Email',
|
|
240
|
+
value: x.name
|
|
241
|
+
} : undefined
|
|
242
242
|
}),
|
|
243
243
|
name: x.title,
|
|
244
244
|
id: x.id
|
|
@@ -246,7 +246,7 @@ function LostPassport({
|
|
|
246
246
|
}),
|
|
247
247
|
onSelect: index => handleChangePassport({
|
|
248
248
|
target: {
|
|
249
|
-
value: pageState.user.passportTypes[index].
|
|
249
|
+
value: pageState.user.passportTypes[index].id
|
|
250
250
|
}
|
|
251
251
|
}),
|
|
252
252
|
defaultIndex: 0
|
|
@@ -268,7 +268,7 @@ function LostPassport({
|
|
|
268
268
|
content: () => {
|
|
269
269
|
const extraParams = {
|
|
270
270
|
receiverDid: pageState.user.did,
|
|
271
|
-
|
|
271
|
+
passportId: pageState.passport,
|
|
272
272
|
teamDid: window?.blocklet?.did || ''
|
|
273
273
|
};
|
|
274
274
|
return /*#__PURE__*/_jsx(DidConnect, {
|
package/lib/store/item.js
CHANGED
|
@@ -191,7 +191,7 @@ export default function StoreItem({
|
|
|
191
191
|
type: releaseType
|
|
192
192
|
}
|
|
193
193
|
}).then(res => {
|
|
194
|
-
Toast.success(
|
|
194
|
+
Toast.success(/*#__PURE__*/_jsx(UploadedToast, {
|
|
195
195
|
storeName: connectedStore.storeName,
|
|
196
196
|
storeUrl: connectedStore.storeUrl,
|
|
197
197
|
developerDid: connectedStore.developerDid,
|
|
@@ -457,7 +457,7 @@ export default function MemberList({
|
|
|
457
457
|
}].filter(Boolean);
|
|
458
458
|
const customButtons = [];
|
|
459
459
|
if (isInvitationEnabled) {
|
|
460
|
-
customButtons.push(
|
|
460
|
+
customButtons.push(/*#__PURE__*/_jsxs(Button, {
|
|
461
461
|
variant: "outlined",
|
|
462
462
|
style: {
|
|
463
463
|
flexShrink: 0,
|
|
@@ -497,7 +497,7 @@ export default function MemberList({
|
|
|
497
497
|
})
|
|
498
498
|
}));
|
|
499
499
|
if (type === 'server') {
|
|
500
|
-
customButtons.push(
|
|
500
|
+
customButtons.push(/*#__PURE__*/_jsx(Permission, {
|
|
501
501
|
role: "owner",
|
|
502
502
|
children: /*#__PURE__*/_jsxs(Button, {
|
|
503
503
|
style: {
|
|
@@ -9,6 +9,7 @@ import Box from '@mui/material/Box';
|
|
|
9
9
|
import Avatar from '@mui/material/Avatar';
|
|
10
10
|
import Tabs from '@arcblock/ux/lib/Tabs';
|
|
11
11
|
import InfoRow from '@arcblock/ux/lib/InfoRow';
|
|
12
|
+
import VerifiedIcon from '@mui/icons-material/Verified';
|
|
12
13
|
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
13
14
|
import ForbidLoginIcon from '@arcblock/icons/lib/ForbidLoginIcon';
|
|
14
15
|
import AllowLoginIcon from '@arcblock/icons/lib/AllowLoginIcon';
|
|
@@ -30,7 +31,25 @@ import ToggleUserApproval from './toggle-user-approval';
|
|
|
30
31
|
import { parseAvatar } from './util';
|
|
31
32
|
import blockletSdk from '../../util/sdk';
|
|
32
33
|
import UserConnections from './connections';
|
|
34
|
+
|
|
35
|
+
// eslint-disable-next-line react/prop-types
|
|
33
36
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
37
|
+
function VerifiedInfo({
|
|
38
|
+
info,
|
|
39
|
+
verified
|
|
40
|
+
}) {
|
|
41
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
42
|
+
display: "flex",
|
|
43
|
+
alignItems: "center",
|
|
44
|
+
children: [info, verified && /*#__PURE__*/_jsx(VerifiedIcon, {
|
|
45
|
+
color: "success",
|
|
46
|
+
style: {
|
|
47
|
+
fontSize: 16,
|
|
48
|
+
marginLeft: 4
|
|
49
|
+
}
|
|
50
|
+
})]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
34
53
|
function LinkUser({
|
|
35
54
|
name,
|
|
36
55
|
...rest
|
|
@@ -148,10 +167,16 @@ export default function Member({
|
|
|
148
167
|
value: pageState.user.fullName
|
|
149
168
|
}, {
|
|
150
169
|
name: t('common.email'),
|
|
151
|
-
value: pageState.user.email
|
|
170
|
+
value: pageState.user.email ? /*#__PURE__*/_jsx(VerifiedInfo, {
|
|
171
|
+
info: pageState.user.email,
|
|
172
|
+
verified: pageState.user.emailVerified
|
|
173
|
+
}) : '-'
|
|
152
174
|
}, {
|
|
153
175
|
name: t('common.phone'),
|
|
154
|
-
value: pageState.user.phone
|
|
176
|
+
value: pageState.user.phone ? /*#__PURE__*/_jsx(VerifiedInfo, {
|
|
177
|
+
info: pageState.user.phone,
|
|
178
|
+
verified: pageState.user.phoneVerified
|
|
179
|
+
}) : '-'
|
|
155
180
|
}, {
|
|
156
181
|
name: t('team.member.source'),
|
|
157
182
|
value: /*#__PURE__*/_jsx(Box, {
|
|
@@ -28,7 +28,9 @@ export default function PassportItem({
|
|
|
28
28
|
// eslint-disable-next-line react/no-danger
|
|
29
29
|
dangerouslySetInnerHTML: {
|
|
30
30
|
__html: createPassportSvg({
|
|
31
|
-
|
|
31
|
+
scope: passport.scope,
|
|
32
|
+
role: passport.role,
|
|
33
|
+
title: passport.scope === 'passport' ? passport.title : passport.name,
|
|
32
34
|
issuer: passport.issuer && passport.issuer.name,
|
|
33
35
|
issuerDid: passport.issuer && passport.issuer.id,
|
|
34
36
|
ownerName: user.fullName,
|
|
@@ -36,7 +38,11 @@ export default function PassportItem({
|
|
|
36
38
|
ownerAvatarUrl: user.avatar,
|
|
37
39
|
revoked: passport.revoked,
|
|
38
40
|
preferredColor: color,
|
|
39
|
-
width
|
|
41
|
+
width,
|
|
42
|
+
extra: passport.scope === 'kyc' ? {
|
|
43
|
+
key: 'Email',
|
|
44
|
+
value: passport.name
|
|
45
|
+
} : undefined
|
|
40
46
|
})
|
|
41
47
|
}
|
|
42
48
|
}), /*#__PURE__*/_jsxs("div", {
|
package/lib/util/index.js
CHANGED
|
@@ -676,4 +676,11 @@ export const getLogoHash = logo => encodeURIComponent((logo || '').split('/').sl
|
|
|
676
676
|
const hasRequiredEnvironments = meta => (meta.environments || []).some(x => x.required);
|
|
677
677
|
export const hasRequiredSteps = meta => {
|
|
678
678
|
return !!meta.requirements?.fuels?.length || hasRequiredEnvironments(meta);
|
|
679
|
+
};
|
|
680
|
+
export const isFromWallet = () => {
|
|
681
|
+
const {
|
|
682
|
+
searchParams
|
|
683
|
+
} = new URL(window.location.href);
|
|
684
|
+
// NOTICE: 这个参数由钱包中拼接得来,用于判断是否来源于钱包客户端(可以走不同的处理逻辑)
|
|
685
|
+
return searchParams.get('fromWallet') === '1';
|
|
679
686
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/ux",
|
|
3
|
-
"version": "1.16.32-beta-
|
|
3
|
+
"version": "1.16.32-beta-17be26d7",
|
|
4
4
|
"description": "UX components shared across abtnode packages",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,25 +25,25 @@
|
|
|
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.32-beta-
|
|
29
|
-
"@abtnode/constant": "1.16.32-beta-
|
|
30
|
-
"@abtnode/util": "1.16.32-beta-
|
|
28
|
+
"@abtnode/auth": "1.16.32-beta-17be26d7",
|
|
29
|
+
"@abtnode/constant": "1.16.32-beta-17be26d7",
|
|
30
|
+
"@abtnode/util": "1.16.32-beta-17be26d7",
|
|
31
31
|
"@ahooksjs/use-url-state": "^3.5.1",
|
|
32
32
|
"@arcblock/did": "^1.18.135",
|
|
33
|
-
"@arcblock/did-connect": "^2.10.
|
|
33
|
+
"@arcblock/did-connect": "^2.10.33",
|
|
34
34
|
"@arcblock/did-motif": "^1.1.13",
|
|
35
|
-
"@arcblock/icons": "^2.10.
|
|
36
|
-
"@arcblock/nft-display": "2.10.
|
|
37
|
-
"@arcblock/react-hooks": "^2.10.
|
|
38
|
-
"@arcblock/terminal": "^2.10.
|
|
39
|
-
"@arcblock/ux": "^2.10.
|
|
40
|
-
"@blocklet/constant": "1.16.32-beta-
|
|
41
|
-
"@blocklet/js-sdk": "1.16.32-beta-
|
|
42
|
-
"@blocklet/launcher-layout": "2.10.
|
|
43
|
-
"@blocklet/list": "^0.13.
|
|
44
|
-
"@blocklet/meta": "1.16.32-beta-
|
|
45
|
-
"@blocklet/ui-react": "^2.10.
|
|
46
|
-
"@blocklet/uploader": "0.1.
|
|
35
|
+
"@arcblock/icons": "^2.10.33",
|
|
36
|
+
"@arcblock/nft-display": "2.10.33",
|
|
37
|
+
"@arcblock/react-hooks": "^2.10.33",
|
|
38
|
+
"@arcblock/terminal": "^2.10.33",
|
|
39
|
+
"@arcblock/ux": "^2.10.33",
|
|
40
|
+
"@blocklet/constant": "1.16.32-beta-17be26d7",
|
|
41
|
+
"@blocklet/js-sdk": "1.16.32-beta-17be26d7",
|
|
42
|
+
"@blocklet/launcher-layout": "2.10.33",
|
|
43
|
+
"@blocklet/list": "^0.13.25",
|
|
44
|
+
"@blocklet/meta": "1.16.32-beta-17be26d7",
|
|
45
|
+
"@blocklet/ui-react": "^2.10.33",
|
|
46
|
+
"@blocklet/uploader": "0.1.34",
|
|
47
47
|
"@emotion/react": "^11.10.4",
|
|
48
48
|
"@emotion/styled": "^11.10.4",
|
|
49
49
|
"@iconify-icons/logos": "^1.2.36",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"jest": "^29.7.0",
|
|
109
109
|
"jest-environment-jsdom": "^29.7.0"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "9fa42d5a545aea6d57d2e1c51849fe227c8acb5e"
|
|
112
112
|
}
|