import { HelpMenu } from '~/views-components/main-app-bar/help-menu';
import { ReactNode } from "react";
import { AdminMenu } from "~/views-components/main-app-bar/admin-menu";
+import { pluginConfig } from '~/plugins';
type CssRules = 'toolbar' | 'link';
user?: User;
buildInfo?: string;
children?: ReactNode;
+ uuidPrefix: string;
+ siteBanner: string;
}
export type MainAppBarProps = MainAppBarDataProps & WithStyles<CssRules>;
return <AppBar position="absolute">
<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>
+ {pluginConfig.appBarLeft || <Grid container item xs={3} direction="column" justify="center">
+ <Typography variant='h6' color="inherit" noWrap>
<Link to={Routes.ROOT} className={props.classes.link}>
- arvados workbench
+ <span dangerouslySetInnerHTML={{ __html: props.siteBanner }} /> ({props.uuidPrefix})
</Link>
</Typography>
<Typography variant="caption" color="inherit">{props.buildInfo}</Typography>
- </Grid>
+ </Grid>}
<Grid
item
xs={6}
container
alignItems="center">
- {props.user && <SearchBar /> }
+ {pluginConfig.appBarMiddle || (props.user && props.user.isActive && <SearchBar />)}
</Grid>
<Grid
item
alignItems="center"
justify="flex-end"
wrap="nowrap">
- {props.user
- ? <>
+ {pluginConfig.appBarRight ||
+ (props.user ? <>
<NotificationsMenu />
<AccountMenu />
{props.user.isAdmin && <AdminMenu />}
<HelpMenu />
- </>
- : <HelpMenu />}
+ </> :
+ <HelpMenu />)}
</Grid>
</Grid>
</Toolbar>