X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ff74ff70ced6e15e0c70735bbd54ca7acadb6185..3ddd45b007768a39591cd116b4a213cd39019e0c:/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 fdd8123f28..53a5753d0c 100644 --- a/src/views-components/main-app-bar/account-menu.tsx +++ b/src/views-components/main-app-bar/account-menu.tsx @@ -8,30 +8,39 @@ import { User, getUserFullname } from "~/models/user"; import { DropdownMenu } from "~/components/dropdown-menu/dropdown-menu"; import { UserPanelIcon } from "~/components/icon/icon"; import { DispatchProp, connect } from 'react-redux'; -import { logout } from "~/store/auth/auth-action"; +import { logout } from '~/store/auth/auth-action'; import { RootState } from "~/store/store"; -import { openCurrentTokenDialog } from '../../store/current-token-dialog/current-token-dialog-actions'; +import { openCurrentTokenDialog } from '~/store/current-token-dialog/current-token-dialog-actions'; +import { navigateToSshKeysUser, navigateToMyAccount } from '~/store/navigation/navigation-action'; +import { openUserVirtualMachines } from "~/store/virtual-machines/virtual-machines-actions"; +import { openRepositoriesPanel } from '~/store/repositories/repositories-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(openUserVirtualMachines())}>Virtual Machines + {!user.isAdmin && dispatch(openRepositoriesPanel())}>Repositories} dispatch(openCurrentTokenDialog)}>Current token - My account + dispatch(navigateToSshKeysUser)}>Ssh Keys + dispatch(navigateToMyAccount)}>My account dispatch(logout())}>Logout : null);