@arcblock/ux 2.6.2 → 2.6.3
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/SessionManager/federated-login-detecter.js +2 -1
- package/lib/SessionManager/index.js +2 -1
- package/lib/Util/index.js +14 -2
- package/package.json +4 -4
- package/src/SessionManager/federated-login-detecter.jsx +8 -1
- package/src/SessionManager/index.jsx +2 -1
- package/src/Util/index.js +12 -0
@@ -13,6 +13,7 @@ var _Avatar = _interopRequireDefault(require("../Avatar"));
|
|
13
13
|
var _Address = _interopRequireDefault(require("../Address"));
|
14
14
|
var _Button = _interopRequireDefault(require("../Button"));
|
15
15
|
var _Toast = _interopRequireDefault(require("../Toast"));
|
16
|
+
var _Util = require("../Util");
|
16
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
19
|
const translations = {
|
@@ -111,7 +112,7 @@ function FederatedLoginDetecter(_ref3) {
|
|
111
112
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
|
112
113
|
variant: "circle",
|
113
114
|
did: userInfo.did,
|
114
|
-
src: userInfo.avatar,
|
115
|
+
src: (0, _Util.getUserAvatar)(userInfo.avatar),
|
115
116
|
size: 28,
|
116
117
|
shape: "circle"
|
117
118
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
|
@@ -18,6 +18,7 @@ var _VpnKeyOutlined = _interopRequireDefault(require("@mui/icons-material/VpnKey
|
|
18
18
|
var _useBrowser = _interopRequireDefault(require("@arcblock/react-hooks/lib/useBrowser"));
|
19
19
|
var _Avatar = _interopRequireDefault(require("../Avatar"));
|
20
20
|
var _Address = _interopRequireDefault(require("../Address"));
|
21
|
+
var _Util = require("../Util");
|
21
22
|
var _federatedLoginDetecter = _interopRequireDefault(require("./federated-login-detecter"));
|
22
23
|
var _userPopper = _interopRequireDefault(require("./user-popper"));
|
23
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
@@ -101,7 +102,7 @@ function SessionManager(_ref) {
|
|
101
102
|
const [userOpen, setUserOpen] = (0, _react.useState)(false);
|
102
103
|
|
103
104
|
// base64 img maybe have some blank char, need encodeURIComponent to transform it
|
104
|
-
const avatar = (_session$user = session.user) === null || _session$user === void 0 ? void 0 : (_session$user$avatar = _session$user.avatar) === null || _session$user$avatar === void 0 ? void 0 : _session$user$avatar.replace(/\s/g, encodeURIComponent(' '));
|
105
|
+
const avatar = (0, _Util.getUserAvatar)((_session$user = session.user) === null || _session$user === void 0 ? void 0 : (_session$user$avatar = _session$user.avatar) === null || _session$user$avatar === void 0 ? void 0 : _session$user$avatar.replace(/\s/g, encodeURIComponent(' ')));
|
105
106
|
const currentRole = (0, _react.useMemo)(() => {
|
106
107
|
var _session$user2, _session$user2$passpo;
|
107
108
|
return (_session$user2 = session.user) === null || _session$user2 === void 0 ? void 0 : (_session$user2$passpo = _session$user2.passports) === null || _session$user2$passpo === void 0 ? void 0 : _session$user2$passpo.find(item => item.name === session.user.role);
|
package/lib/Util/index.js
CHANGED
@@ -10,7 +10,7 @@ exports.getColor = exports.getBackground = exports.formatUptime = void 0;
|
|
10
10
|
exports.getCookieOptions = getCookieOptions;
|
11
11
|
exports.getCopyright = getCopyright;
|
12
12
|
exports.getDateTool = getDateTool;
|
13
|
-
exports.isEthereumDid = exports.getTimezone = exports.getFontSize = void 0;
|
13
|
+
exports.isEthereumDid = exports.getUserAvatar = exports.getTimezone = exports.getFontSize = void 0;
|
14
14
|
exports.mergeProps = mergeProps;
|
15
15
|
exports.openWebWallet = openWebWallet;
|
16
16
|
exports.parseQuery = parseQuery;
|
@@ -296,4 +296,16 @@ const isEthereumDid = did => {
|
|
296
296
|
}
|
297
297
|
return true;
|
298
298
|
};
|
299
|
-
exports.isEthereumDid = isEthereumDid;
|
299
|
+
exports.isEthereumDid = isEthereumDid;
|
300
|
+
const getUserAvatar = function getUserAvatar(avatar) {
|
301
|
+
var _window$blocklet, _window$blocklet$capa;
|
302
|
+
let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 48;
|
303
|
+
if (!avatar) {
|
304
|
+
return avatar;
|
305
|
+
}
|
306
|
+
if (avatar.indexOf('/.well-known/service') >= 0 && (_window$blocklet = window.blocklet) !== null && _window$blocklet !== void 0 && (_window$blocklet$capa = _window$blocklet.capabilities) !== null && _window$blocklet$capa !== void 0 && _window$blocklet$capa.httpImageFilter) {
|
307
|
+
return "".concat(avatar, "/resize?w=").concat(size, "&h=").concat(size);
|
308
|
+
}
|
309
|
+
return avatar;
|
310
|
+
};
|
311
|
+
exports.getUserAvatar = getUserAvatar;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@arcblock/ux",
|
3
|
-
"version": "2.6.
|
3
|
+
"version": "2.6.3",
|
4
4
|
"description": "Common used react components for arcblock products",
|
5
5
|
"keywords": [
|
6
6
|
"react",
|
@@ -47,11 +47,11 @@
|
|
47
47
|
"peerDependencies": {
|
48
48
|
"react": ">=18.1.0"
|
49
49
|
},
|
50
|
-
"gitHead": "
|
50
|
+
"gitHead": "1b4d3ea0e13aa11bc06cad0be0e3dd630ffd7008",
|
51
51
|
"dependencies": {
|
52
52
|
"@arcblock/did-motif": "^1.1.13",
|
53
|
-
"@arcblock/icons": "^2.6.
|
54
|
-
"@arcblock/react-hooks": "^2.6.
|
53
|
+
"@arcblock/icons": "^2.6.3",
|
54
|
+
"@arcblock/react-hooks": "^2.6.3",
|
55
55
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
56
56
|
"@emotion/react": "^11.10.4",
|
57
57
|
"@emotion/styled": "^11.10.4",
|
@@ -8,6 +8,7 @@ import DidAvatar from '../Avatar';
|
|
8
8
|
import DidAddress from '../Address';
|
9
9
|
import Button from '../Button';
|
10
10
|
import Toast from '../Toast';
|
11
|
+
import { getUserAvatar } from '../Util';
|
11
12
|
|
12
13
|
const translations = {
|
13
14
|
en: {
|
@@ -93,7 +94,13 @@ export default function FederatedLoginDetecter({ session, anchorEl, dark, locale
|
|
93
94
|
{siteInfo && userInfo && <Divider style={{ margin: '15px 0 10px 0' }} />}
|
94
95
|
{userInfo && (
|
95
96
|
<Box display="flex" alignItems="center">
|
96
|
-
<DidAvatar
|
97
|
+
<DidAvatar
|
98
|
+
variant="circle"
|
99
|
+
did={userInfo.did}
|
100
|
+
src={getUserAvatar(userInfo.avatar)}
|
101
|
+
size={28}
|
102
|
+
shape="circle"
|
103
|
+
/>
|
97
104
|
<Box ml={2}>
|
98
105
|
<Box display="flex" justifyContent="space-between" alignItems="center">
|
99
106
|
<Box fontSize={18}>{userInfo.fullName}</Box>
|
@@ -15,6 +15,7 @@ import useBrowser from '@arcblock/react-hooks/lib/useBrowser';
|
|
15
15
|
|
16
16
|
import DidAvatar from '../Avatar';
|
17
17
|
import DidAddress from '../Address';
|
18
|
+
import { getUserAvatar } from '../Util';
|
18
19
|
import FederatedLoginDetecter from './federated-login-detecter';
|
19
20
|
import UserPopper from './user-popper';
|
20
21
|
|
@@ -75,7 +76,7 @@ function SessionManager({
|
|
75
76
|
const [userOpen, setUserOpen] = useState(false);
|
76
77
|
|
77
78
|
// base64 img maybe have some blank char, need encodeURIComponent to transform it
|
78
|
-
const avatar = session.user?.avatar?.replace(/\s/g, encodeURIComponent(' '));
|
79
|
+
const avatar = getUserAvatar(session.user?.avatar?.replace(/\s/g, encodeURIComponent(' ')));
|
79
80
|
const currentRole = useMemo(
|
80
81
|
() => session.user?.passports?.find((item) => item.name === session.user.role),
|
81
82
|
[session.user]
|
package/src/Util/index.js
CHANGED
@@ -282,3 +282,15 @@ export const isEthereumDid = (did) => {
|
|
282
282
|
}
|
283
283
|
return true;
|
284
284
|
};
|
285
|
+
|
286
|
+
export const getUserAvatar = (avatar, size = 48) => {
|
287
|
+
if (!avatar) {
|
288
|
+
return avatar;
|
289
|
+
}
|
290
|
+
|
291
|
+
if (avatar.indexOf('/.well-known/service') >= 0 && window.blocklet?.capabilities?.httpImageFilter) {
|
292
|
+
return `${avatar}/resize?w=${size}&h=${size}`;
|
293
|
+
}
|
294
|
+
|
295
|
+
return avatar;
|
296
|
+
};
|