@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.
@@ -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.2",
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": "000fa204bf5852285b314d989dacbf3b3fc24a9b",
50
+ "gitHead": "1b4d3ea0e13aa11bc06cad0be0e3dd630ffd7008",
51
51
  "dependencies": {
52
52
  "@arcblock/did-motif": "^1.1.13",
53
- "@arcblock/icons": "^2.6.2",
54
- "@arcblock/react-hooks": "^2.6.2",
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 variant="circle" did={userInfo.did} src={userInfo.avatar} size={28} shape="circle" />
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
+ };