X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/211054b9494b034611467321203618d8fbdf05e2..ec121e0e865fe99c5df5453ed5fa819594b1cdd6:/src/views-components/token-dialog/token-dialog.tsx diff --git a/src/views-components/token-dialog/token-dialog.tsx b/src/views-components/token-dialog/token-dialog.tsx index 5bbcaf57db..fc01631d87 100644 --- a/src/views-components/token-dialog/token-dialog.tsx +++ b/src/views-components/token-dialog/token-dialog.tsx @@ -27,8 +27,10 @@ import { import { DefaultCodeSnippet } from '~/components/default-code-snippet/default-code-snippet'; import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions'; import { getNewExtraToken } from '~/store/auth/auth-action'; +import { DetailsAttributeComponent } from '~/components/details-attribute/details-attribute'; +import * as moment from 'moment'; -type CssRules = 'link' | 'paper' | 'button' | 'actionButton'; +type CssRules = 'link' | 'paper' | 'button' | 'actionButton' | 'codeBlock'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ link: { @@ -51,7 +53,10 @@ const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ marginTop: theme.spacing.unit * 2, marginBottom: theme.spacing.unit * 2, marginRight: theme.spacing.unit * 2, - } + }, + codeBlock: { + fontSize: '0.8125rem', + }, }); type TokenDialogProps = TokenDialogData & WithDialogProps<{}> & WithStyles & DispatchProp; @@ -90,6 +95,9 @@ unset ARVADOS_API_HOST_INSECURE` render() { const { classes, open, closeDialog, ...data } = this.props; + const tokenExpiration = data.tokenExpiration + ? `${data.tokenExpiration.toLocaleString()} (${moment(data.tokenExpiration).fromNow()})` + : `This token does not have an expiration date`; return The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions. - - For more information see - - Getting an API token. - - + + For more information see + + Getting an API token. + + + + + + + { this.props.canCreateNewTokens && } + Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your account. - - this.onCopy('Token copied to clipboard')}> + + this.onCopy('Shell code block copied')}> } - + Arvados virtual machines do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation).