mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
feat(plugin-authentication): CB-999 hide menu in aws product
This commit is contained in:
@@ -39,7 +39,7 @@ export default [
|
||||
['connections_connection_access_grant', 'Grant'],
|
||||
['connections_connection_access_edit', 'Edit'],
|
||||
['connections_connection_access_cloud_placeholder', 'Cloud connections are visible to all users. Access management can be configured in "AWS Management Console".'],
|
||||
['connections_connection_access_empty_table_placeholder', 'There are no items yet. Press edit button to grant role or user.'],
|
||||
['connections_connection_access_empty_table_placeholder', 'There are no items yet. Press Edit button to grant role or user.'],
|
||||
['connections_connection_access_filter_placeholder', 'Search for user or role name'],
|
||||
['connections_connection_access_filter_no_result', 'No results have been found.'],
|
||||
['connections_connection_access_admin_info', 'Administators see all connections.'],
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
*/
|
||||
|
||||
import { computed } from 'mobx';
|
||||
import { observer } from 'mobx-react-lite';
|
||||
import { useMemo } from 'react';
|
||||
import styled, { css } from 'reshadow';
|
||||
|
||||
import { topMenuStyles } from '@cloudbeaver/core-app';
|
||||
@@ -42,17 +44,41 @@ export const UserInfo = observer(function UserInfo() {
|
||||
const authInfoService = useService(AuthInfoService);
|
||||
const style = useStyles(styles, userMenuStyles);
|
||||
|
||||
const { panel, hidden } = useMemo(
|
||||
() => {
|
||||
const panel = userMenuService.getMenu();
|
||||
const hidden = computed(() => !panel.menuItems.length
|
||||
|| panel.menuItems.every(item => item.isHidden));
|
||||
|
||||
return { panel, hidden };
|
||||
},
|
||||
[userMenuService]
|
||||
);
|
||||
|
||||
if (!authInfoService.userInfo) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return styled(style)(
|
||||
<MenuTrigger panel={userMenuService.getMenu()} style={[topMenuStyles]}>
|
||||
const userName = authInfoService.userInfo.displayName || authInfoService.userInfo.userId;
|
||||
|
||||
if (hidden.get()) {
|
||||
return styled(style)(
|
||||
<user>
|
||||
<user-icon>
|
||||
<IconOrImage icon='user' viewBox='0 0 28 28' />
|
||||
</user-icon>
|
||||
<user-name>{authInfoService.userInfo.displayName || authInfoService.userInfo.userId}</user-name>
|
||||
<user-name>{userName}</user-name>
|
||||
</user>
|
||||
);
|
||||
}
|
||||
|
||||
return styled(style)(
|
||||
<MenuTrigger panel={panel} style={[topMenuStyles]}>
|
||||
<user>
|
||||
<user-icon>
|
||||
<IconOrImage icon='user' viewBox='0 0 28 28' />
|
||||
</user-icon>
|
||||
<user-name>{userName}</user-name>
|
||||
</user>
|
||||
</MenuTrigger>
|
||||
);
|
||||
|
||||
@@ -10,7 +10,7 @@ import { css } from 'reshadow';
|
||||
|
||||
export const userMenuStyles = css`
|
||||
MenuTrigger {
|
||||
padding: 0 16px !important;
|
||||
padding: 0 !important;
|
||||
height: 48px;
|
||||
cursor: pointer;
|
||||
background: none;
|
||||
|
||||
Reference in New Issue
Block a user