@arcblock/ux 2.7.15 → 2.7.17

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.
Files changed (57) hide show
  1. package/es/Dialog/confirm.js +10 -8
  2. package/es/Img/index.js +7 -7
  3. package/es/SessionManager/account-item.js +133 -0
  4. package/es/SessionManager/add-account-item.js +100 -0
  5. package/es/SessionManager/federated-login-detecter.js +37 -33
  6. package/es/SessionManager/index.js +119 -259
  7. package/es/SessionManager/manage-accounts.js +156 -0
  8. package/es/SessionManager/manage-blocklet.js +70 -0
  9. package/es/SessionManager/menu-accordion.js +104 -0
  10. package/es/SessionManager/translation.js +52 -0
  11. package/es/SessionManager/use-config.js +34 -0
  12. package/es/SessionManager/user-info.js +147 -0
  13. package/es/SessionManager/user-popper.js +10 -53
  14. package/es/SessionManager/utils.js +2 -0
  15. package/es/Typography/index.js +89 -0
  16. package/es/Util/federated.js +65 -0
  17. package/es/Util/index.js +7 -0
  18. package/lib/Dialog/confirm.js +9 -7
  19. package/lib/Img/index.js +7 -7
  20. package/lib/SessionManager/account-item.js +141 -0
  21. package/lib/SessionManager/add-account-item.js +108 -0
  22. package/lib/SessionManager/federated-login-detecter.js +38 -33
  23. package/lib/SessionManager/index.js +122 -272
  24. package/lib/SessionManager/manage-accounts.js +168 -0
  25. package/lib/SessionManager/manage-blocklet.js +86 -0
  26. package/lib/SessionManager/menu-accordion.js +112 -0
  27. package/lib/SessionManager/translation.js +59 -0
  28. package/lib/SessionManager/use-config.js +41 -0
  29. package/lib/SessionManager/user-info.js +163 -0
  30. package/lib/SessionManager/user-popper.js +8 -8
  31. package/lib/SessionManager/utils.js +16 -0
  32. package/lib/Typography/index.js +100 -0
  33. package/lib/Util/federated.js +85 -0
  34. package/lib/Util/index.js +11 -2
  35. package/package.json +12 -5
  36. package/src/Dialog/confirm.js +9 -6
  37. package/src/Img/index.js +5 -5
  38. package/src/SessionManager/account-item.jsx +109 -0
  39. package/src/SessionManager/add-account-item.jsx +97 -0
  40. package/src/SessionManager/federated-login-detecter.jsx +42 -29
  41. package/src/SessionManager/index.jsx +131 -259
  42. package/src/SessionManager/manage-accounts.jsx +157 -0
  43. package/src/SessionManager/manage-blocklet.jsx +70 -0
  44. package/src/SessionManager/menu-accordion.jsx +94 -0
  45. package/src/SessionManager/translation.js +52 -0
  46. package/src/SessionManager/use-config.js +33 -0
  47. package/src/SessionManager/user-info.jsx +116 -0
  48. package/src/SessionManager/user-popper.jsx +6 -51
  49. package/src/SessionManager/utils.js +3 -0
  50. package/src/Typography/index.jsx +79 -0
  51. package/src/Util/federated.js +73 -0
  52. package/src/Util/index.js +8 -0
  53. /package/src/Avatar/{did-motif.js → did-motif.jsx} +0 -0
  54. /package/src/Avatar/{index.js → index.jsx} +0 -0
  55. /package/src/Header/{auto-hidden.js → auto-hidden.jsx} +0 -0
  56. /package/src/Header/{header.js → header.jsx} +0 -0
  57. /package/src/Header/{responsive-header.js → responsive-header.jsx} +0 -0
@@ -9,7 +9,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = require("react");
10
10
  var _ahooks = require("ahooks");
11
11
  var _noop = _interopRequireDefault(require("lodash/noop"));
12
- var _context = require("../Locale/context");
13
12
  var _Button = _interopRequireDefault(require("../Button"));
14
13
  var _dialog = _interopRequireDefault(require("./dialog"));
15
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -106,16 +105,15 @@ Confirm.defaultProps = {
106
105
  PaperProps: {}
107
106
  };
108
107
  const ConfirmHolder = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
109
- const {
110
- t
111
- } = (0, _react.useContext)(_context.LocaleContext);
112
108
  const state = (0, _ahooks.useReactive)({
113
109
  show: false,
114
110
  title: '',
115
111
  content: '',
116
112
  onConfirm: _noop.default,
117
113
  onCancel: _noop.default,
118
- loading: false
114
+ loading: false,
115
+ confirmButtonText: 'Confirm',
116
+ cancelButtonText: 'Cancel'
119
117
  });
120
118
  const open = (0, _ahooks.useMemoizedFn)(function () {
121
119
  let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -124,6 +122,8 @@ const ConfirmHolder = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
124
122
  state.content = params.content;
125
123
  state.onConfirm = params.onConfirm || _noop.default;
126
124
  state.onCancel = params.onCancel || _noop.default;
125
+ if (params.confirmButtonText) state.confirmButtonText = params.confirmButtonText;
126
+ if (params.cancelButtonText) state.cancelButtonText = params.cancelButtonText;
127
127
  state.loading = false;
128
128
  });
129
129
  const reset = (0, _ahooks.useMemoizedFn)(() => {
@@ -131,6 +131,8 @@ const ConfirmHolder = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
131
131
  state.content = '';
132
132
  state.onConfirm = _noop.default;
133
133
  state.onCancel = _noop.default;
134
+ state.confirmButtonText = 'Confirm';
135
+ state.cancelButtonText = 'Cancel';
134
136
  });
135
137
  const close = (0, _ahooks.useMemoizedFn)(() => {
136
138
  state.show = false;
@@ -162,7 +164,7 @@ const ConfirmHolder = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
162
164
  onConfirm: onConfirm,
163
165
  onCancel: onCancel,
164
166
  confirmButton: {
165
- text: t('common.confirm'),
167
+ text: state.confirmButtonText,
166
168
  props: {
167
169
  variant: 'contained',
168
170
  color: 'primary',
@@ -170,7 +172,7 @@ const ConfirmHolder = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
170
172
  }
171
173
  },
172
174
  cancelButton: {
173
- text: t('common.cancel'),
175
+ text: state.cancelButtonText,
174
176
  props: {
175
177
  variant: 'outlined',
176
178
  color: 'primary'
package/lib/Img/index.js CHANGED
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _SvgIcon = _interopRequireDefault(require("@mui/material/SvgIcon"));
10
9
  var _reactIntersectionObserver = require("react-intersection-observer");
11
- var _Alert = _interopRequireDefault(require("mdi-material-ui/Alert"));
12
- var _Image = _interopRequireDefault(require("mdi-material-ui/Image"));
10
+ var _alert = _interopRequireDefault(require("@iconify-icons/mdi/alert"));
11
+ var _image = _interopRequireDefault(require("@iconify-icons/mdi/image"));
12
+ var _react2 = require("@iconify/react");
13
13
  var _Theme = require("../Theme");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  const _excluded = ["lazy", "width", "height", "repeat", "ratio", "alt", "size", "position", "src", "placeholder", "fallback", "style", "className", "onError", "onSuccess"];
@@ -173,15 +173,15 @@ function Img(_ref) {
173
173
  children: [!fallback && imgState === 'error' && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
174
174
  className: "image--state",
175
175
  title: "loading image",
176
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgIcon.default, {
177
- component: _Alert.default,
176
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {
177
+ icon: _alert.default,
178
178
  className: "image--icon"
179
179
  })
180
180
  }), !placeholder && imgState === 'loading' && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
181
181
  className: "image--state",
182
182
  title: "Image load error",
183
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgIcon.default, {
184
- component: _Image.default,
183
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {
184
+ icon: _image.default,
185
185
  className: "image--icon"
186
186
  })
187
187
  }), imgState === 'loaded' && /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = AccountItem;
7
+ var _material = require("@mui/material");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _react = require("@iconify/react");
10
+ var _check = _interopRequireDefault(require("@iconify-icons/mdi/check"));
11
+ var _trashCanOutline = _interopRequireDefault(require("@iconify-icons/mdi/trash-can-outline"));
12
+ var _ahooks = require("ahooks");
13
+ var _Avatar = _interopRequireDefault(require("../Avatar"));
14
+ var _DID = _interopRequireDefault(require("../DID"));
15
+ var _util = require("../Locale/util");
16
+ var _translation = require("./translation");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function AccountItem(_ref) {
20
+ let {
21
+ account,
22
+ active,
23
+ onDelete,
24
+ onChoose,
25
+ locale
26
+ } = _ref;
27
+ const t = (0, _ahooks.useMemoizedFn)(function (key) {
28
+ let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
+ return (0, _util.translate)(_translation.translations, key, locale, 'en', data);
30
+ });
31
+ const _onChoose = (0, _ahooks.useMemoizedFn)(() => onChoose(account, {
32
+ active
33
+ }));
34
+ const _onDelete = (0, _ahooks.useMemoizedFn)(e => {
35
+ e.preventDefault();
36
+ e.stopPropagation();
37
+ onDelete(account, {
38
+ active
39
+ });
40
+ });
41
+ if (!(account !== null && account !== void 0 && account.did) || !(account !== null && account !== void 0 && account.appName)) {
42
+ return null;
43
+ }
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
45
+ onClick: _onChoose,
46
+ sx: {
47
+ display: 'flex',
48
+ alignItems: 'center',
49
+ overflow: 'hidden',
50
+ gap: '8px',
51
+ position: 'relative',
52
+ '.account-item-actions': {
53
+ position: 'absolute',
54
+ right: 0,
55
+ top: 0,
56
+ bottom: 0,
57
+ marginRight: '12px',
58
+ display: 'flex',
59
+ alignItems: 'center'
60
+ },
61
+ '.account-item-action': {
62
+ alignItems: 'center',
63
+ display: 'none'
64
+ },
65
+ '&:hover .account-item-action': {
66
+ display: 'flex'
67
+ }
68
+ },
69
+ className: "session-manager-menu-item",
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
71
+ did: account.did,
72
+ size: 42
73
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
74
+ sx: {
75
+ flex: 1,
76
+ overflow: 'hidden',
77
+ fontSize: 0,
78
+ '.did-address-avatar': {
79
+ display: 'none !important'
80
+ }
81
+ },
82
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DID.default, {
83
+ did: account.did,
84
+ copyable: false,
85
+ size: 14,
86
+ responsive: false,
87
+ compact: true,
88
+ sx: {
89
+ lineHeight: 1
90
+ }
91
+ }), account.sourceAppPid && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Typography, {
92
+ variant: "caption",
93
+ children: [t('from'), ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Link, {
94
+ href: account.appUrl,
95
+ target: "_blank",
96
+ underline: "none",
97
+ children: account.appName
98
+ })]
99
+ })]
100
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
101
+ className: "account-item-actions",
102
+ children: active ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
103
+ className: "account-item-action",
104
+ style: {
105
+ display: 'flex'
106
+ },
107
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
108
+ color: "success",
109
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {
110
+ icon: _check.default,
111
+ color: "success"
112
+ })
113
+ })
114
+ }, "CheckIcon") : /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
115
+ className: "account-item-action",
116
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
117
+ color: "error",
118
+ onClick: _onDelete,
119
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {
120
+ icon: _trashCanOutline.default,
121
+ color: "error"
122
+ })
123
+ })
124
+ }, "TrashCanOutlineIcon")
125
+ })]
126
+ });
127
+ }
128
+ AccountItem.propTypes = {
129
+ account: _propTypes.default.object,
130
+ active: _propTypes.default.bool,
131
+ locale: _propTypes.default.string,
132
+ onChoose: _propTypes.default.func,
133
+ onDelete: _propTypes.default.func
134
+ };
135
+ AccountItem.defaultProps = {
136
+ account: null,
137
+ active: false,
138
+ locale: 'en',
139
+ onChoose: () => {},
140
+ onDelete: () => {}
141
+ };
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = AddAccountItem;
7
+ var _react = require("@iconify/react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _material = require("@mui/material");
10
+ var _iosAddCircleOutline = _interopRequireDefault(require("@iconify-icons/ion/ios-add-circle-outline"));
11
+ var _ahooks = require("ahooks");
12
+ var _react2 = require("react");
13
+ var _util = require("../Locale/util");
14
+ var _translation = require("./translation");
15
+ var _federated = require("../Util/federated");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ function AddAccountItem(_ref) {
19
+ let {
20
+ onAdd,
21
+ locale
22
+ } = _ref;
23
+ const addRef = (0, _react2.useRef)(null);
24
+ const state = (0, _ahooks.useReactive)({
25
+ open: false
26
+ });
27
+ const t = (0, _ahooks.useMemoizedFn)(function (key) {
28
+ let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
+ return (0, _util.translate)(_translation.translations, key, locale, 'en', data);
30
+ });
31
+ const apps = (0, _ahooks.useCreation)(() => {
32
+ var _window;
33
+ const appList = [];
34
+ if (typeof window === 'undefined') {
35
+ return appList;
36
+ }
37
+ const blocklet = (_window = window) === null || _window === void 0 ? void 0 : _window.blocklet;
38
+ const masterApp = (0, _federated.getFederatedApp)(blocklet);
39
+ const currentApp = (0, _federated.getCurrentApp)(blocklet);
40
+ if (currentApp) {
41
+ appList.push(currentApp);
42
+ }
43
+ if (masterApp && (masterApp === null || masterApp === void 0 ? void 0 : masterApp.appId) !== (currentApp === null || currentApp === void 0 ? void 0 : currentApp.appId)) {
44
+ appList.push(masterApp);
45
+ }
46
+ // NOTICE: masterApp 应该排在前面
47
+ return appList.reverse();
48
+ }, [window.blocklet]);
49
+ const _onAdd = (0, _ahooks.useMemoizedFn)(() => {
50
+ if (apps.length <= 1) {
51
+ onAdd(apps[0]);
52
+ } else {
53
+ state.open = true;
54
+ }
55
+ });
56
+ const onClose = (0, _ahooks.useMemoizedFn)(() => {
57
+ state.open = false;
58
+ });
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
61
+ ref: addRef,
62
+ onClick: _onAdd,
63
+ className: "session-manager-menu-item",
64
+ sx: {
65
+ display: 'flex',
66
+ gap: '8px'
67
+ },
68
+ "data-cy": "sessionManager-switch-trigger",
69
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {
70
+ icon: _iosAddCircleOutline.default,
71
+ width: 24,
72
+ height: 24
73
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
74
+ children: t('addAnotherAccount')
75
+ })]
76
+ }), addRef.current ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Menu, {
77
+ anchorEl: addRef.current,
78
+ open: state.open,
79
+ onClose: onClose,
80
+ elevation: 0,
81
+ PaperProps: {
82
+ variant: 'outlined'
83
+ },
84
+ anchorOrigin: {
85
+ vertical: 'top',
86
+ horizontal: 'left'
87
+ },
88
+ transformOrigin: {
89
+ vertical: 'top',
90
+ horizontal: 'left'
91
+ },
92
+ children: apps.map(app => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {
93
+ onClick: () => onAdd(app),
94
+ children: t('connectWithAccount', {
95
+ name: app.appName
96
+ })
97
+ }, app.appId))
98
+ }) : null]
99
+ });
100
+ }
101
+ AddAccountItem.propTypes = {
102
+ onAdd: _propTypes.default.func,
103
+ locale: _propTypes.default.string
104
+ };
105
+ AddAccountItem.defaultProps = {
106
+ onAdd: () => {},
107
+ locale: 'en'
108
+ };
@@ -9,8 +9,9 @@ var _react = require("react");
9
9
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
10
  var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
11
11
  var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
12
- var _SvgIcon = _interopRequireDefault(require("@mui/material/SvgIcon"));
13
- var _ShieldCheck = _interopRequireDefault(require("mdi-material-ui/ShieldCheck"));
12
+ var _shieldCheck = _interopRequireDefault(require("@iconify-icons/mdi/shield-check"));
13
+ var _react2 = require("@iconify/react");
14
+ var _ahooks = require("ahooks");
14
15
  var _userPopper = _interopRequireDefault(require("./user-popper"));
15
16
  var _Avatar = _interopRequireDefault(require("../Avatar"));
16
17
  var _Address = _interopRequireDefault(require("../Address"));
@@ -48,54 +49,60 @@ const translations = {
48
49
  }
49
50
  };
50
51
  function FederatedLoginDetecter(_ref3) {
51
- var _session$federatedMas, _session$federatedMas2, _userInfo$role, _userInfo$role2;
52
+ var _federatedMaster$site2, _federatedMaster$user, _federatedMaster$user2;
52
53
  let {
53
54
  session,
54
55
  anchorEl,
55
56
  dark,
56
57
  locale: _locale
57
58
  } = _ref3;
58
- const [federatedLoginOpen, setFederatedLoginOpen] = (0, _react.useState)(true);
59
- const siteInfo = (_session$federatedMas = session.federatedMaster) === null || _session$federatedMas === void 0 ? void 0 : _session$federatedMas.site;
60
- const userInfo = (_session$federatedMas2 = session.federatedMaster) === null || _session$federatedMas2 === void 0 ? void 0 : _session$federatedMas2.user;
59
+ const state = (0, _ahooks.useReactive)({
60
+ open: true
61
+ });
62
+ const federatedMaster = (0, _ahooks.useCreation)(() => {
63
+ return session.federatedMaster;
64
+ }, [session === null || session === void 0 ? void 0 : session.federatedMaster]);
61
65
  const localeList = Object.keys(translations);
62
66
  const locale = localeList.includes(_locale) ? _locale : localeList[0];
63
67
  const onLoginFederated = (0, _react.useCallback)(() => {
68
+ var _federatedMaster$site;
64
69
  session === null || session === void 0 ? void 0 : session.login(err => {
65
70
  if (err) {
66
71
  _Toast.default.error(err || translations[_locale].loginFederatedFailed);
67
72
  } else {
68
- setFederatedLoginOpen(false);
73
+ state.open = false;
69
74
  }
70
75
  }, {
71
- provider: 'federated',
72
- mode: userInfo ? 'auto' : 'manual'
76
+ sourceAppPid: federatedMaster === null || federatedMaster === void 0 ? void 0 : (_federatedMaster$site = federatedMaster.site) === null || _federatedMaster$site === void 0 ? void 0 : _federatedMaster$site.appPid,
77
+ mode: federatedMaster !== null && federatedMaster !== void 0 && federatedMaster.user ? 'auto' : 'manual'
73
78
  });
74
- }, [session, userInfo, _locale]);
79
+ }, [session, federatedMaster === null || federatedMaster === void 0 ? void 0 : (_federatedMaster$site2 = federatedMaster.site) === null || _federatedMaster$site2 === void 0 ? void 0 : _federatedMaster$site2.appPid, federatedMaster === null || federatedMaster === void 0 ? void 0 : federatedMaster.user, _locale, state]);
75
80
  let appLogoUrl;
76
- if (siteInfo) {
77
- appLogoUrl = new URL(siteInfo.appLogo, siteInfo.appUrl);
81
+ if (federatedMaster !== null && federatedMaster !== void 0 && federatedMaster.site) {
82
+ appLogoUrl = new URL(federatedMaster.site.appLogo, federatedMaster.site.appUrl);
78
83
  appLogoUrl.searchParams.set('imageFilter', 'resize');
79
84
  // HACK: 保持跟其他地方使用的尺寸一致,可以复用同一资源的缓存,减少网络请求
80
85
  appLogoUrl.searchParams.set('w', '80');
81
86
  appLogoUrl.searchParams.set('h', '80');
82
87
  }
83
- return siteInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_userPopper.default, {
84
- open: federatedLoginOpen,
88
+ return (federatedMaster === null || federatedMaster === void 0 ? void 0 : federatedMaster.site) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_userPopper.default, {
89
+ open: state.open,
85
90
  anchorEl: anchorEl,
86
91
  dark: dark,
87
92
  autoClose: false,
88
- onClose: () => setFederatedLoginOpen(false),
93
+ onClose: () => {
94
+ state.open = false;
95
+ },
89
96
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
90
97
  p: 2,
91
- children: [siteInfo && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
98
+ children: [federatedMaster.site && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
92
99
  display: "flex",
93
100
  alignItems: "center",
94
101
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
95
102
  component: "img",
96
103
  mr: 2,
97
104
  src: appLogoUrl.href,
98
- alt: siteInfo.appName,
105
+ alt: federatedMaster.site.appName,
99
106
  width: "30px",
100
107
  height: "30px"
101
108
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
@@ -105,7 +112,7 @@ function FederatedLoginDetecter(_ref3) {
105
112
  children: translations[locale].useToConnect({
106
113
  master: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
107
114
  component: "a",
108
- href: siteInfo.appUrl,
115
+ href: federatedMaster.site.appUrl,
109
116
  target: "_blank",
110
117
  sx: {
111
118
  textDecoration: 'none',
@@ -113,22 +120,22 @@ function FederatedLoginDetecter(_ref3) {
113
120
  color: 'primary.main',
114
121
  fontSize: '1.2em'
115
122
  },
116
- children: siteInfo.appName
123
+ children: federatedMaster.site.appName
117
124
  }),
118
125
  member: window.blocklet.appName
119
126
  })
120
127
  })]
121
- }), siteInfo && userInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {
128
+ }), (federatedMaster === null || federatedMaster === void 0 ? void 0 : federatedMaster.site) && (federatedMaster === null || federatedMaster === void 0 ? void 0 : federatedMaster.user) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {
122
129
  style: {
123
130
  margin: '15px 0 10px 0'
124
131
  }
125
- }), userInfo && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
132
+ }), (federatedMaster === null || federatedMaster === void 0 ? void 0 : federatedMaster.user) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
126
133
  display: "flex",
127
134
  alignItems: "center",
128
135
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
129
136
  variant: "circle",
130
- did: userInfo.did,
131
- src: (0, _Util.getUserAvatar)(userInfo.avatar),
137
+ did: federatedMaster.user.did,
138
+ src: (0, _Util.getUserAvatar)(federatedMaster.user.avatar),
132
139
  size: 28,
133
140
  shape: "circle"
134
141
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
@@ -139,9 +146,9 @@ function FederatedLoginDetecter(_ref3) {
139
146
  alignItems: "center",
140
147
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
141
148
  fontSize: 18,
142
- children: userInfo.fullName
143
- }), ((_userInfo$role = userInfo.role) === null || _userInfo$role === void 0 ? void 0 : _userInfo$role.toUpperCase()) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, {
144
- label: (_userInfo$role2 = userInfo.role) === null || _userInfo$role2 === void 0 ? void 0 : _userInfo$role2.toUpperCase(),
149
+ children: federatedMaster.user.fullName
150
+ }), ((_federatedMaster$user = federatedMaster.user.role) === null || _federatedMaster$user === void 0 ? void 0 : _federatedMaster$user.toUpperCase()) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, {
151
+ label: (_federatedMaster$user2 = federatedMaster.user.role) === null || _federatedMaster$user2 === void 0 ? void 0 : _federatedMaster$user2.toUpperCase(),
145
152
  size: "small",
146
153
  variant: "outlined",
147
154
  sx: {
@@ -149,19 +156,17 @@ function FederatedLoginDetecter(_ref3) {
149
156
  marginRight: 0,
150
157
  fontSize: 12
151
158
  },
152
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgIcon.default, {
153
- component: _ShieldCheck.default,
154
- style: {
155
- fontSize: '14px'
156
- }
159
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {
160
+ icon: _shieldCheck.default,
161
+ fontSize: 14
157
162
  })
158
163
  })]
159
164
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
160
165
  responsive: false,
161
- children: userInfo.did
166
+ children: federatedMaster.user.did
162
167
  })]
163
168
  })]
164
- }), siteInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
169
+ }), (federatedMaster === null || federatedMaster === void 0 ? void 0 : federatedMaster.site) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
165
170
  display: "flex",
166
171
  justifyContent: "center",
167
172
  mt: 2,