@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.
- package/es/Dialog/confirm.js +10 -8
- package/es/Img/index.js +7 -7
- package/es/SessionManager/account-item.js +133 -0
- package/es/SessionManager/add-account-item.js +100 -0
- package/es/SessionManager/federated-login-detecter.js +37 -33
- package/es/SessionManager/index.js +119 -259
- package/es/SessionManager/manage-accounts.js +156 -0
- package/es/SessionManager/manage-blocklet.js +70 -0
- package/es/SessionManager/menu-accordion.js +104 -0
- package/es/SessionManager/translation.js +52 -0
- package/es/SessionManager/use-config.js +34 -0
- package/es/SessionManager/user-info.js +147 -0
- package/es/SessionManager/user-popper.js +10 -53
- package/es/SessionManager/utils.js +2 -0
- package/es/Typography/index.js +89 -0
- package/es/Util/federated.js +65 -0
- package/es/Util/index.js +7 -0
- package/lib/Dialog/confirm.js +9 -7
- package/lib/Img/index.js +7 -7
- package/lib/SessionManager/account-item.js +141 -0
- package/lib/SessionManager/add-account-item.js +108 -0
- package/lib/SessionManager/federated-login-detecter.js +38 -33
- package/lib/SessionManager/index.js +122 -272
- package/lib/SessionManager/manage-accounts.js +168 -0
- package/lib/SessionManager/manage-blocklet.js +86 -0
- package/lib/SessionManager/menu-accordion.js +112 -0
- package/lib/SessionManager/translation.js +59 -0
- package/lib/SessionManager/use-config.js +41 -0
- package/lib/SessionManager/user-info.js +163 -0
- package/lib/SessionManager/user-popper.js +8 -8
- package/lib/SessionManager/utils.js +16 -0
- package/lib/Typography/index.js +100 -0
- package/lib/Util/federated.js +85 -0
- package/lib/Util/index.js +11 -2
- package/package.json +12 -5
- package/src/Dialog/confirm.js +9 -6
- package/src/Img/index.js +5 -5
- package/src/SessionManager/account-item.jsx +109 -0
- package/src/SessionManager/add-account-item.jsx +97 -0
- package/src/SessionManager/federated-login-detecter.jsx +42 -29
- package/src/SessionManager/index.jsx +131 -259
- package/src/SessionManager/manage-accounts.jsx +157 -0
- package/src/SessionManager/manage-blocklet.jsx +70 -0
- package/src/SessionManager/menu-accordion.jsx +94 -0
- package/src/SessionManager/translation.js +52 -0
- package/src/SessionManager/use-config.js +33 -0
- package/src/SessionManager/user-info.jsx +116 -0
- package/src/SessionManager/user-popper.jsx +6 -51
- package/src/SessionManager/utils.js +3 -0
- package/src/Typography/index.jsx +79 -0
- package/src/Util/federated.js +73 -0
- package/src/Util/index.js +8 -0
- /package/src/Avatar/{did-motif.js → did-motif.jsx} +0 -0
- /package/src/Avatar/{index.js → index.jsx} +0 -0
- /package/src/Header/{auto-hidden.js → auto-hidden.jsx} +0 -0
- /package/src/Header/{header.js → header.jsx} +0 -0
- /package/src/Header/{responsive-header.js → responsive-header.jsx} +0 -0
package/lib/Dialog/confirm.js
CHANGED
@@ -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:
|
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:
|
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
|
12
|
-
var
|
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)(
|
177
|
-
|
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)(
|
184
|
-
|
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
|
13
|
-
var
|
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
|
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
|
59
|
-
|
60
|
-
|
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
|
-
|
73
|
+
state.open = false;
|
69
74
|
}
|
70
75
|
}, {
|
71
|
-
|
72
|
-
mode:
|
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,
|
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 (
|
77
|
-
appLogoUrl = new URL(
|
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
|
84
|
-
open:
|
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: () =>
|
93
|
+
onClose: () => {
|
94
|
+
state.open = false;
|
95
|
+
},
|
89
96
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
90
97
|
p: 2,
|
91
|
-
children: [
|
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:
|
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:
|
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:
|
123
|
+
children: federatedMaster.site.appName
|
117
124
|
}),
|
118
125
|
member: window.blocklet.appName
|
119
126
|
})
|
120
127
|
})]
|
121
|
-
}),
|
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
|
-
}),
|
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:
|
131
|
-
src: (0, _Util.getUserAvatar)(
|
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:
|
143
|
-
}), ((
|
144
|
-
label: (
|
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)(
|
153
|
-
|
154
|
-
|
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:
|
166
|
+
children: federatedMaster.user.did
|
162
167
|
})]
|
163
168
|
})]
|
164
|
-
}),
|
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,
|