Enable useNextVariants and replace depracated typography variants
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Fri, 28 Dec 2018 13:48:57 +0000 (14:48 +0100)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Fri, 28 Dec 2018 13:48:57 +0000 (14:48 +0100)
Feature #14639

Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>

32 files changed:
src/common/custom-theme.ts
src/components/default-code-snippet/default-code-snippet.tsx
src/components/default-view/default-view.tsx
src/components/file-upload/file-upload.tsx
src/components/list-item-text-icon/list-item-text-icon.tsx
src/views-components/current-token-dialog/current-token-dialog.tsx
src/views-components/details-panel/details-panel.tsx
src/views-components/groups-dialog/attributes-dialog.tsx
src/views-components/groups-dialog/member-attributes-dialog.tsx
src/views-components/main-app-bar/help-menu.tsx
src/views-components/main-app-bar/main-app-bar.tsx
src/views-components/repositories-sample-git-dialog/repositories-sample-git-dialog.tsx
src/views-components/repository-attributes-dialog/repository-attributes-dialog.tsx
src/views-components/sharing-dialog/sharing-dialog-content.tsx
src/views-components/sharing-dialog/sharing-management-form-component.tsx
src/views-components/sharing-dialog/sharing-public-access-form-component.tsx
src/views-components/user-dialog/attributes-dialog.tsx
src/views-components/user-dialog/manage-dialog.tsx
src/views-components/virtual-machines-dialog/attributes-dialog.tsx
src/views/login-panel/login-panel.tsx
src/views/my-account-panel/my-account-panel-root.tsx
src/views/process-log-panel/process-log-code-snippet.tsx
src/views/process-log-panel/process-log-main-card.tsx
src/views/process-panel/process-information-card.tsx
src/views/process-panel/process-subprocesses-card.tsx
src/views/process-panel/subprocesses-card.tsx
src/views/repositories-panel/repositories-panel.tsx
src/views/run-process-panel/inputs/directory-array-input.tsx
src/views/run-process-panel/inputs/file-array-input.tsx
src/views/site-manager-panel/site-manager-panel-root.tsx
src/views/ssh-key-panel/ssh-key-panel-root.tsx
src/views/virtual-machine-panel/virtual-machine-user-panel.tsx

index f7559eed08050876519c215745d45e447d9cb0b0..0faf781d6d27edbcb8b09db7496902927ffb8feb 100644 (file)
@@ -39,6 +39,9 @@ const grey900 = grey["900"];
 const rocheBlue = '#06C';
 
 export const themeOptions: ArvadosThemeOptions = {
+    typography: {
+        useNextVariants: true,
+    },
     customs: {
         colors: {
             green700: green["700"],
@@ -148,7 +151,7 @@ export const themeOptions: ArvadosThemeOptions = {
             dark: teal.A400,
             contrastText: '#fff'
         }
-    }
+    },
 };
 
 export const CustomTheme = createMuiTheme(themeOptions);
\ No newline at end of file
index e8b89f321ca809302bcbdab1f09f4c13d09f6d38..c81865dbd30ad8563c175498d220cc82e77a2dc7 100644 (file)
@@ -19,7 +19,8 @@ const theme = createMuiTheme({
         }
     },
     typography: {
-        fontFamily: 'monospace'
+        fontFamily: 'monospace',
+        useNextVariants: true,
     }
 });
 
index 3bc3e5290dddb0baa6b79b0893fce0fcdeebaf2b..036fe1e4be179575309dd47b382d668b751b6721 100644 (file)
@@ -39,7 +39,7 @@ export const DefaultView = withStyles(styles)(
         <Typography className={classnames([classes.root, classRoot])} component="div">
             <Icon className={classnames([classes.icon, classIcon])} />
             {messages.map((msg: string, index: number) => {
-                return <Typography key={index} variant="body1" 
+                return <Typography key={index}  
                     className={classnames([classes.message, classMessage])}>{msg}</Typography>;
             })}
         </Typography>
index 41054df43f9da6c6d76fb446a118dc15781606bd..64656e4865a920435883d1e7fa146a99890d1c90 100644 (file)
@@ -136,7 +136,7 @@ export const FileUpload = withStyles(styles)(
                     {files.length === 0 &&
                         <Grid container justify="center" alignItems="center" className={classes.container}>
                             <Grid item component={"span"}>
-                                <Typography variant={"subheading"}>
+                                <Typography variant='subtitle1'>
                                     <CloudUploadIcon className={classes.uploadIcon} /> Drag and drop data or click to browse
                             </Typography>
                             </Grid>
index 29768c050f797974bd4e33815ce5d41d6ae6dc2c..3afc2cf8773293a18566c468253aaade648c3a4a 100644 (file)
@@ -51,7 +51,7 @@ export const ListItemTextIcon = withStyles(styles)(
                         <Icon style={{ fontSize: `${iconSize}rem` }} />
                     </ListItemIcon>
                     <ListItemText primary={
-                        <Typography variant='body1' className={classnames(classes.listItemText, {
+                        <Typography  className={classnames(classes.listItemText, {
                                 [classes.active]: isActive
                             })}>
                             {name}
index 934be54d37f15336d5e6e5b5a89a66002bdf4b34..bc0071aff9397055706648aa582ffc7b24e991f3 100644 (file)
@@ -47,7 +47,7 @@ export const CurrentTokenDialog =
                 maxWidth='md'>
                 <DialogTitle>Current Token</DialogTitle>
                 <DialogContent>
-                    <Typography variant='body1' paragraph={true}>
+                    <Typography  paragraph={true}>
                         The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions.
                                 <Typography component='p'>
                             For more information see
@@ -56,11 +56,11 @@ export const CurrentTokenDialog =
                                     </a>
                         </Typography>
                     </Typography>
-                    <Typography variant='body1' paragraph={true}>
+                    <Typography  paragraph={true}>
                         Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your klingenc account.
                             </Typography>
                     <DefaultCodeSnippet lines={[getSnippet(data)]} />
-                    <Typography variant='body1'>
+                    <Typography >
                         Arvados
                                 <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>virtual machines</a>
                         do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation).
index 315fc9855dbf6038f03405f3e16ce80cdac22765..2a30ae4783d75d426d29bc82574cd19a086058b3 100644 (file)
@@ -152,7 +152,7 @@ export const DetailsPanel = withStyles(styles)(
                         </Grid>
                         <Grid item xs={8}>
                             <Tooltip title={item.getTitle()}>
-                                <Typography variant="title" noWrap>
+                                <Typography variant='h6' noWrap>
                                     {item.getTitle()}
                                 </Typography>
                             </Tooltip>
index ce79d2336b399b7f2faf6fe52de28dcc9f47689b..c95392a7a10cf706263b2254803e6604a2fc8a7d 100644 (file)
@@ -45,7 +45,7 @@ export const GroupAttributesDialog = compose(
                 maxWidth="sm">
                 <DialogTitle>Attributes</DialogTitle>
                 <DialogContent>
-                    <Typography variant="body2" className={props.classes.spacing}>
+                    <Typography variant='body1' className={props.classes.spacing}>
                         {props.data && attributes(props.data, props.classes)}
                     </Typography>
                 </DialogContent>
index c7c766da15bba7677cd0253e8ae7cfa475fae0b0..9299e492626dc8a0156991bd6f87896e6a503928 100644 (file)
@@ -45,7 +45,7 @@ export const GroupMemberAttributesDialog = compose(
                 maxWidth="sm">
                 <DialogTitle>Attributes</DialogTitle>
                 <DialogContent>
-                    <Typography variant="body2" className={props.classes.spacing}>
+                    <Typography variant='body1' className={props.classes.spacing}>
                         {props.data && attributes(props.data, props.classes)}
                     </Typography>
                 </DialogContent>
index 94da69e7c62311d94d4e324462cd7a73d3e02ac5..859c907a6fd88553118038df3c7b763ea0b70873 100644 (file)
@@ -78,7 +78,7 @@ export const HelpMenu = compose(
                         <MenuItem key={link.title}>
                             <a href={link.link} target="_blank" className={classes.link}>
                                 <ImportContactsIcon className={classes.icon} />
-                                <Typography variant="body1" className={classes.linkTitle}>{link.title}</Typography>
+                                <Typography  className={classes.linkTitle}>{link.title}</Typography>
                             </a>
                         </MenuItem>
                     )
index 8a7e9f2000f0af954275b3ac6717ff6479550ce1..ff3bee61973f016bc63af7c9792beec1d3ff484a 100644 (file)
@@ -41,7 +41,7 @@ export const MainAppBar = withStyles(styles)(
             <Toolbar className={props.classes.toolbar}>
                 <Grid container justify="space-between">
                     <Grid container item xs={3} direction="column" justify="center">
-                        <Typography variant="title" color="inherit" noWrap>
+                        <Typography variant='h6' color="inherit" noWrap>
                             <Link to={Routes.ROOT} className={props.classes.link}>
                                 arvados workbench
                             </Link>
index b157316708c0caaa87e9874127b9778d0260e77d..6899018cd66785ed81a531623ad5fbf0a97ed585 100644 (file)
@@ -52,7 +52,7 @@ export const RepositoriesSampleGitDialog = compose(
                     <DefaultCodeSnippet
                         className={props.classes.codeSnippet}
                         lines={[snippetText(props.data.uuidPrefix)]} />
-                    <Typography variant="body2" className={props.classes.spacing}>
+                    <Typography variant='body1' className={props.classes.spacing}>
                         See also:
                         <div><a href="https://doc.arvados.org/user/getting_started/ssh-access-unix.html" className={props.classes.link} target="_blank">SSH access</a></div>
                         <div><a href="https://doc.arvados.org/user/tutorials/tutorial-firstscript.html" className={props.classes.link} target="_blank">Writing a Crunch Script</a></div>
index 74cafe9022edef034e13ce7043c3d3a41b622a75..c9c72026f99d38361ccf90edaffaa20d5239f422 100644 (file)
@@ -45,7 +45,7 @@ export const RepositoryAttributesDialog = compose(
                 maxWidth="sm">
                 <DialogTitle>Attributes</DialogTitle>
                 <DialogContent>
-                    <Typography variant="body2" className={props.classes.spacing}>
+                    <Typography variant='body1' className={props.classes.spacing}>
                         {props.data.repositoryData && attributes(props.data.repositoryData, props.classes)}
                     </Typography>
                 </DialogContent>
index 7347c664787b19d7c036d905ace99165aff2b25b..2c9bb01d38bfaedd113e1322c961bd80a4f904b3 100644 (file)
@@ -14,7 +14,7 @@ export const SharingDialogContent = (props: { advancedViewOpen: boolean }) =>
         {props.advancedViewOpen &&
             <>
                 <Grid item>
-                    <Typography variant='subheading'>
+                    <Typography variant='subtitle1'>
                         Who can access
                     </Typography>
                     <SharingPublicAccessForm />
index 5e374042b32438cd0ed5045097dd8ca61b1bf66c..e4096ea597cfa8e651fe9e39645aeb8763f44088 100644 (file)
@@ -40,7 +40,7 @@ const PermissionManagementRow = withStyles(permissionManagementRowStyles)(
             <Divider />
             <Grid container alignItems='center' spacing={8} wrap='nowrap' className={classes.root}>
                 <Grid item xs={8}>
-                    <Typography noWrap variant='subheading'>{fields.get(index).email}</Typography>
+                    <Typography noWrap variant='subtitle1'>{fields.get(index).email}</Typography>
                 </Grid>
                 <Grid item xs={4} container wrap='nowrap'>
                     <Field
index 7f3c4b7b4f833bc1b045615c125b115a51774f03..03e9413e8379abcd22771eeeceef6bfe04f242d3 100644 (file)
@@ -22,7 +22,7 @@ const SharingPublicAccessForm = withStyles(sharingPublicAccessStyles)(
             <Divider />
             <Grid container alignItems='center' spacing={8} className={classes.root}>
                 <Grid item xs={8}>
-                    <Typography variant='subheading'>
+                    <Typography variant='subtitle1'>
                         {renderVisibilityInfo(visibility)}
                     </Typography>
                 </Grid>
index 8ba0f81328f22b521abbf02af0b36fc2a1f8a76b..11594f5e1d187d39a27072a6e37b42d28cca3a10 100644 (file)
@@ -45,7 +45,7 @@ export const UserAttributesDialog = compose(
                 maxWidth="sm">
                 <DialogTitle>Attributes</DialogTitle>
                 <DialogContent>
-                    <Typography variant="body2" className={props.classes.spacing}>
+                    <Typography variant='body1' className={props.classes.spacing}>
                         {props.data && attributes(props.data, props.classes)}
                     </Typography>
                 </DialogContent>
index 37a233f35f6f3e1f7912d9ad897c3c1fd796f5e9..12c5d2b6c820978fad5e171cd9452badf603b4b6 100644 (file)
@@ -51,13 +51,13 @@ export const UserManageDialog = compose(
                     <span>
                         <DialogTitle>{`Manage - ${props.data.user.firstName} ${props.data.user.lastName}`}</DialogTitle>
                         <DialogContent>
-                            <Typography variant="body2" className={props.classes.spacing}>
+                            <Typography variant='body1' className={props.classes.spacing}>
                                 As an admin, you can log in as this user. When you’ve finished, you will need to log out and log in again with your own account.
                     </Typography>
                             <Button variant="contained" color="primary" onClick={() => props.loginAs(props.data.client.uuid)}>
                                 {`LOG IN AS ${props.data.user.firstName} ${props.data.user.lastName}`}
                             </Button>
-                            <Typography variant="body2" className={props.classes.spacing}>
+                            <Typography variant='body1' className={props.classes.spacing}>
                                 As an admin, you can setup a shell account for this user. The login name is automatically generated from the user's e-mail address.
                     </Typography>
                             <Button variant="contained" color="primary" onClick={() => props.openSetupShellAccount(props.data.uuid)}>
index 7eaeacf3110440a1ffe60069886df10dc235dc2f..33588dc020b05912c9c5049b35e865f068d7d8f2 100644 (file)
@@ -45,7 +45,7 @@ export const VirtualMachineAttributesDialog = compose(
                 maxWidth="sm">
                 <DialogTitle>Attributes</DialogTitle>
                 <DialogContent>
-                    <Typography variant="body2" className={props.classes.spacing}>
+                    <Typography variant='body1' className={props.classes.spacing}>
                         {props.data.virtualMachineData && attributes(props.data.virtualMachineData, props.classes)}
                     </Typography>
                 </DialogContent>
index 6a9210acad79f58288f2fc9448903af750c79f10..151311d0c3ef6575d34a235b0e52c57e443dcfff 100644 (file)
@@ -54,20 +54,20 @@ export const LoginPanel = withStyles(styles)(connect()(
     ({ classes, dispatch }: LoginPanelProps) =>
     <Grid container direction="column" item xs alignItems="center" justify="center" className={classes.root}>
         <Grid item className={classes.container}>
-            <Typography variant="title" align="center" className={classes.title}>
+            <Typography variant='h6' align="center" className={classes.title}>
                 Welcome to the Arvados Workbench
             </Typography>
-            <Typography variant="body1" className={classes.content}>
+            <Typography  className={classes.content}>
                 The "Log in" button below will show you a Google sign-in page.
                 After you assure Google that you want to log in here with your Google account, you will be redirected back here to Arvados Workbench.
             </Typography>
-            <Typography variant="body1" className={classes.content}>
+            <Typography  className={classes.content}>
                 If you have never used Arvados Workbench before, logging in for the first time will automatically create a new account.
             </Typography>
-            <Typography variant="body2" className={classNames(classes.content, classes.content__bolder)}>
+            <Typography variant='body1' className={classNames(classes.content, classes.content__bolder)}>
                 IMPORTANT: Please keep in mind to store exploratory data only but not any information used for clinical decision making.
             </Typography>
-            <Typography variant="body1" className={classes.content}>
+            <Typography  className={classes.content}>
                 Arvados Workbench uses your name and email address only for identification, and does not retrieve any other personal information from Google.
             </Typography>
             <Typography component="div" align="right">
index a0b29fb4b41f6764285c08378a8ee1649d3efd20..819a16a410801d2ae6bff4638bcf32c71f5bb34d 100644 (file)
@@ -69,7 +69,7 @@ export const MyAccountPanelRoot = withStyles(styles)(
     ({ classes, isValid, handleSubmit, reset, isPristine, invalid, submitting }: MyAccountPanelRootProps) => {
         return <Card className={classes.root}>
             <CardContent>
-                <Typography variant="title" className={classes.title}>User profile</Typography>
+                <Typography variant='h6' className={classes.title}>User profile</Typography>
                 <form onSubmit={handleSubmit}>
                     <Grid container direction="row" spacing={24}>
                         <Grid item xs={6}>
index d02fc02ce1431c74a2aefdaf4137991d0552ba61..a7f6c4761adcb8422774be19a319583680f4fa8a 100644 (file)
@@ -27,7 +27,8 @@ const theme = createMuiTheme({
         }
     },
     typography: {
-        fontFamily: 'monospace'
+        fontFamily: 'monospace',
+        useNextVariants: true,
     }
 });
 
index 42df2d92d7dc33933500cb8c7e54daf7d5a166a2..9b75d112b737e6ccc86aa5fa2ad85d137fb8c4e5 100644 (file)
@@ -80,7 +80,7 @@ export const ProcessLogMainCard = withStyles(styles)(
                         </Tooltip>}
                     title={
                         <Tooltip title={process.containerRequest.name} placement="bottom-start">
-                            <Typography noWrap variant="title" className={classes.title}>
+                            <Typography noWrap variant='h6' className={classes.title}>
                                 {process.containerRequest.name}
                             </Typography>
                         </Tooltip>}
index 52f13987d9fdf214853ec58e292d413dc6a228c7..1f42db6b396d7a3ea945e9a902a51b92cc128c26 100644 (file)
@@ -103,14 +103,14 @@ export const ProcessInformationCard = withStyles(styles, { withTheme: true })(
                 }
                 title={
                     <Tooltip title={process.containerRequest.name} placement="bottom-start">
-                        <Typography noWrap variant="title" color='inherit'>
+                        <Typography noWrap variant='h6' color='inherit'>
                             {process.containerRequest.name}
                         </Typography>
                     </Tooltip>
                 }
                 subheader={
                     <Tooltip title={getDescription(process)} placement="bottom-start">
-                        <Typography noWrap variant="body2" color='inherit'>
+                        <Typography noWrap variant='body1' color='inherit'>
                             {getDescription(process)}
                         </Typography>
                     </Tooltip>}/>
index 7a1901f13f797644cfd1842a97b3b37b2b6ffe63..e389058dde924854e0dc2f468ac060062c798013 100644 (file)
@@ -83,7 +83,7 @@ export const ProcessSubprocessesCard = withStyles(styles, { withTheme: true })(
                 classes={{ content: classes.title, action: classes.action }}
                 action={
                     <div className={classes.rightSideHeader}>
-                        <Typography noWrap variant="body2" className={classes.status}>
+                        <Typography noWrap variant='body1' className={classes.status}>
                             {getProcessStatus(subprocess)}
                         </Typography>
                         <Tooltip title="More options" disableFocusListener>
@@ -98,7 +98,7 @@ export const ProcessSubprocessesCard = withStyles(styles, { withTheme: true })(
                 }
                 title={
                     <Tooltip title={subprocess.containerRequest.name}>
-                        <Typography noWrap variant="body2" className={classes.titleHeader}>
+                        <Typography noWrap variant='body1' className={classes.titleHeader}>
                             {subprocess.containerRequest.name}
                         </Typography>
                     </Tooltip>
index 9cff1e981630ed6a72e8a2868bb8c70c413b22cd..0314a543f0e0302c57a45239438809e61575fea3 100644 (file)
@@ -40,7 +40,7 @@ export const SubprocessesCard = withStyles(styles)(
             <CardHeader
                 className={classes.title}
                 title={
-                    <Typography noWrap variant="title" color='inherit'>
+                    <Typography noWrap variant='h6' color='inherit'>
                         Subprocess and filters
                 </Typography>} />
             <CardContent>
index 62e91b5f1de5e4923abecd46b4494eff377f85ca..f6e02af4dffeadc5b540bf76b3cd077494c93fb6 100644 (file)
@@ -101,7 +101,7 @@ export const RepositoriesPanel = compose(
                         <CardContent>
                             <Grid container direction="row">
                                 <Grid item xs={8}>
-                                    <Typography variant="body2">
+                                    <Typography variant='body1'>
                                         When you are using an Arvados virtual machine, you should clone the https:// URLs. This will authenticate automatically using your API token. <br />
                                         In order to clone git repositories using SSH, <Link to={Routes.SSH_KEYS_USER} className={classes.link}>add an SSH key to your account</Link> and clone the git@ URLs.
                                     </Typography>
index 6da3210371490e968a041e9bc90adc59b5f2f8e4..a7d83daef57f82b9cbbd8bf5f70ca1088ae78f9e 100644 (file)
@@ -280,7 +280,7 @@ const DirectoryArrayInputComponent = connect(mapStateToProps)(
                     </div>
                     <Divider />
                     <div className={classes.chips}>
-                        <Typography variant='subheading'>Selected collections ({this.state.directories.length}):</Typography>
+                        <Typography variant='subtitle1'>Selected collections ({this.state.directories.length}):</Typography>
                         <Chips
                             orderable
                             deletable
index bb85825d232b111d4d59c34fc14468f78677fd92..c134548c734dee8270d4e36d4ba9793a5e065d98 100644 (file)
@@ -263,7 +263,7 @@ const FileArrayInputComponent = connect(mapStateToProps)(
                     </div>
                     <Divider />
                     <div className={classes.chips}>
-                        <Typography variant='subheading'>Selected files ({this.state.files.length}):</Typography>
+                        <Typography variant='subtitle1'>Selected files ({this.state.files.length}):</Typography>
                         <Chips
                             orderable
                             deletable
index 2b6d3c97a46dd94b3e91ec43f229fc21172c326e..684e35b4d31680a630c846d506cb05fb6d38241f 100644 (file)
@@ -119,7 +119,7 @@ export const SiteManagerPanelRoot = compose(
             <CardContent>
                 <Grid container direction="row">
                     <Grid item xs={12}>
-                        <Typography variant='body1' paragraph={true} >
+                        <Typography  paragraph={true} >
                             You can log in to multiple Arvados sites here, then use the multi-site search page to search collections and projects on all sites at once.
                         </Typography>
                     </Grid>
@@ -157,7 +157,7 @@ export const SiteManagerPanelRoot = compose(
                 <form onSubmit={handleSubmit}>
                     <Grid container direction="row">
                         <Grid item xs={12}>
-                            <Typography variant='body1' paragraph={true} className={classes.remoteSiteInfo}>
+                            <Typography  paragraph={true} className={classes.remoteSiteInfo}>
                                 To add a remote Arvados site, paste the remote site's host here (see "ARVADOS_API_HOST" on the "current token" page).
                             </Typography>
                         </Grid>
index 2cdad07dd14fb774ca9260d87b1c4a2285c40e52..fcef5b3d67e5105dc5fba162dd70725fd366cac4 100644 (file)
@@ -55,14 +55,14 @@ export const SshKeyPanelRoot = withStyles(styles)(
             <CardContent>
                 <Grid container direction="row">
                     <Grid item xs={8}>
-                        { !hasKeys && <Typography variant='body1' paragraph={true} >
+                        { !hasKeys && <Typography  paragraph={true} >
                             You have not yet set up an SSH public key for use with Arvados.
                             <a href='https://doc.arvados.org/user/getting_started/ssh-access-unix.html'
                                 target='blank' className={classes.link}>
                                 Learn more.
                             </a>
                         </Typography>}
-                        { !hasKeys && <Typography variant='body1' paragraph={true}>
+                        { !hasKeys && <Typography  paragraph={true}>
                             When you have an SSH key you would like to use, add it using button below.
                         </Typography> }
                     </Grid>
index 5cb4565ee3af3c4f24909e24bfe884bfe2809a5c..291041b3b984cbf4ddf3951b99c1931043f5335c 100644 (file)
@@ -110,7 +110,7 @@ const CardContentWithoutVirtualMachines = (props: VirtualMachineProps) =>
         <Card>
             <CardContent className={props.classes.cardWithoutMachines}>
                 <Grid item xs={6}>
-                    <Typography variant="body2">
+                    <Typography variant='body1'>
                         You do not have access to any virtual machines. Some Arvados features require using the command line. You may request access to a hosted virtual machine with the command line shell.
                     </Typography>
                 </Grid>
@@ -149,7 +149,7 @@ const virtualMachineSendRequest = (props: VirtualMachineProps) =>
             SEND REQUEST FOR SHELL ACCESS
         </Button>
         {props.requestedDate &&
-            <Typography variant="body1">
+            <Typography >
                 A request for shell access was sent on {props.requestedDate}
             </Typography>}
     </span>;
@@ -188,7 +188,7 @@ const CardSSHSection = (props: VirtualMachineProps) =>
     <Grid item xs={12}>
         <Card>
             <CardContent>
-                <Typography variant="body2">
+                <Typography variant='body1'>
                     In order to access virtual machines using SSH, <Link to={Routes.SSH_KEYS_USER} className={props.classes.link}>add an SSH key to your account</Link> and add a section like this to your SSH configuration file ( ~/.ssh/config):
                 </Typography>
                 <DefaultCodeSnippet