X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/ecfd85a34f5852c160a25ab61bc5c38059927c56..5385afcada8666051658c6889c83848702497759:/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 37702536..ea3a2dd9 100644 --- a/src/views-components/main-app-bar/account-menu.tsx +++ b/src/views-components/main-app-bar/account-menu.tsx @@ -9,9 +9,9 @@ import { User, getUserDisplayName } 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 { authActions, getNewExtraToken } from '~/store/auth/auth-action'; import { RootState } from "~/store/store"; -import { openCurrentTokenDialog } from '~/store/current-token-dialog/current-token-dialog-actions'; +import { openTokenDialog } from '~/store/token-dialog/token-dialog-actions'; import { openRepositoriesPanel } from "~/store/repositories/repositories-actions"; import { navigateToSiteManager, @@ -56,32 +56,39 @@ const styles: StyleRulesCallback = () => ({ } }); -export const AccountMenu = withStyles(styles)( - connect(mapStateToProps)( - ({ user, dispatch, currentRoute, workbenchURL, apiToken, localCluster, classes }: AccountMenuProps & DispatchProp & WithStyles) => - user - ? } - id="account-menu" - title="Account Management" - key={currentRoute}> - - {getUserDisplayName(user)} {user.uuid.substr(0, 5) !== localCluster && `(${user.uuid.substr(0, 5)})`} - - {user.isActive ? <> - dispatch(openUserVirtualMachines())}>Virtual Machines - {!user.isAdmin && dispatch(openRepositoriesPanel())}>Repositories} - dispatch(openCurrentTokenDialog)}>Current token - dispatch(navigateToSshKeysUser)}>Ssh Keys - dispatch(navigateToSiteManager)}>Site Manager - dispatch(navigateToMyAccount)}>My account - dispatch(navigateToLinkAccount)}>Link account - : null} - - - Switch to Workbench v1 - - dispatch(logout(true))}>Logout - - : null)); +export const AccountMenuComponent = + ({ user, dispatch, currentRoute, workbenchURL, apiToken, localCluster, classes }: AccountMenuProps & DispatchProp & WithStyles) => + user + ? } + id="account-menu" + title="Account Management" + key={currentRoute}> + + {getUserDisplayName(user)} {user.uuid.substr(0, 5) !== localCluster && `(${user.uuid.substr(0, 5)})`} + + {user.isActive ? <> + dispatch(openUserVirtualMachines())}>Virtual Machines + {!user.isAdmin && dispatch(openRepositoriesPanel())}>Repositories} + { + dispatch(getNewExtraToken(true)); + dispatch(openTokenDialog); + }}>Get API token + dispatch(navigateToSshKeysUser)}>Ssh Keys + dispatch(navigateToSiteManager)}>Site Manager + dispatch(navigateToMyAccount)}>My account + dispatch(navigateToLinkAccount)}>Link account + : null} + + + Switch to Workbench v1 + + dispatch(authActions.LOGOUT({deleteLinkData: true}))}> + Logout + + + : null; + +export const AccountMenu = withStyles(styles)( connect(mapStateToProps)(AccountMenuComponent) );