X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/6c024ce6843e5ad5391fc384792480b751e0c663..f9dde5c781766b8be71d43d0f031c201a0edcfbb:/src/views-components/main-app-bar/account-menu.tsx diff --git a/src/views-components/main-app-bar/account-menu.tsx b/src/views-components/main-app-bar/account-menu.tsx index cb8fd566..6c1e46c5 100644 --- a/src/views-components/main-app-bar/account-menu.tsx +++ b/src/views-components/main-app-bar/account-menu.tsx @@ -12,40 +12,39 @@ import { logout } from '~/store/auth/auth-action'; import { RootState } from "~/store/store"; import { openCurrentTokenDialog } from '~/store/current-token-dialog/current-token-dialog-actions'; import { openRepositoriesPanel } from "~/store/repositories/repositories-actions"; -import { - navigateToSshKeys, navigateToKeepServices, navigateToComputeNodes, - navigateToApiClientAuthorizations, navigateToMyAccount, navigateToGroups +import { + navigateToSiteManager, + navigateToSshKeysUser, + navigateToMyAccount } from '~/store/navigation/navigation-action'; -import { openVirtualMachines } from "~/store/virtual-machines/virtual-machines-actions"; -import { navigateToUsers } from '~/store/navigation/navigation-action'; +import { openUserVirtualMachines } from "~/store/virtual-machines/virtual-machines-actions"; interface AccountMenuProps { user?: User; + currentRoute: string; } const mapStateToProps = (state: RootState): AccountMenuProps => ({ - user: state.auth.user + user: state.auth.user, + currentRoute: state.router.location ? state.router.location.pathname : '' }); export const AccountMenu = connect(mapStateToProps)( - ({ user, dispatch }: AccountMenuProps & DispatchProp) => + ({ user, dispatch, currentRoute }: AccountMenuProps & DispatchProp) => user ? } id="account-menu" - title="Account Management"> + title="Account Management" + key={currentRoute}> {getUserFullname(user)} - dispatch(openVirtualMachines())}>Virtual Machines - dispatch(openRepositoriesPanel())}>Repositories + dispatch(openUserVirtualMachines())}>Virtual Machines + {!user.isAdmin && dispatch(openRepositoriesPanel())}>Repositories} dispatch(openCurrentTokenDialog)}>Current token - dispatch(navigateToSshKeys)}>Ssh Keys - dispatch(navigateToUsers)}>Users - { user.isAdmin && dispatch(navigateToGroups)}>Groups } - { user.isAdmin && dispatch(navigateToApiClientAuthorizations)}>Api Tokens } - { user.isAdmin && dispatch(navigateToKeepServices)}>Keep Services } - { user.isAdmin && dispatch(navigateToComputeNodes)}>Compute Nodes } + dispatch(navigateToSshKeysUser)}>Ssh Keys + dispatch(navigateToSiteManager)}>Site Manager dispatch(navigateToMyAccount)}>My account dispatch(logout())}>Logout