X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/6f8e509988756deb7e05a760e718d1ade164fd19..2d230988f0c91d088e68bc0aecb1fd91d52c1f1f:/src/views-components/main-app-bar/main-app-bar.tsx diff --git a/src/views-components/main-app-bar/main-app-bar.tsx b/src/views-components/main-app-bar/main-app-bar.tsx index 93cf4968..442b9034 100644 --- a/src/views-components/main-app-bar/main-app-bar.tsx +++ b/src/views-components/main-app-bar/main-app-bar.tsx @@ -2,18 +2,19 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { AppBar, Toolbar, Typography, Grid } from "@material-ui/core"; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { Link } from "react-router-dom"; -import { User } from "~/models/user"; -import { SearchBar } from "~/components/search-bar/search-bar"; -import { Routes } from '~/routes/routes'; -import { NotificationsMenu } from "~/views-components/main-app-bar/notifications-menu"; -import { AccountMenu } from "~/views-components/main-app-bar/account-menu"; -import { AnonymousMenu } from "~/views-components/main-app-bar/anonymous-menu"; -import { HelpMenu } from './help-menu'; +import { User } from "models/user"; +import { SearchBar } from "views-components/search-bar/search-bar"; +import { Routes } from 'routes/routes'; +import { NotificationsMenu } from "views-components/main-app-bar/notifications-menu"; +import { AccountMenu } from "views-components/main-app-bar/account-menu"; +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'; @@ -28,42 +29,34 @@ const styles: StyleRulesCallback = () => ({ }); interface MainAppBarDataProps { - searchText: string; - searchDebounce?: number; user?: User; buildInfo?: string; children?: ReactNode; + uuidPrefix: string; + siteBanner: string; } -export interface MainAppBarActionProps { - onSearch: (searchText: string) => void; -} - -export type MainAppBarProps = MainAppBarDataProps & MainAppBarActionProps & WithStyles; +export type MainAppBarProps = MainAppBarDataProps & WithStyles; export const MainAppBar = withStyles(styles)( (props: MainAppBarProps) => { return - - + {pluginConfig.appBarLeft || + - arvados workbench - + ({props.uuidPrefix}) + {props.buildInfo} - + } - {props.user && } + {pluginConfig.appBarMiddle || (props.user && props.user.isActive && )} - {props.user - ? <> - - - - - : } + {props.user ? <> + + + {pluginConfig.appBarRight || + <> + {props.user.isAdmin && } + + } + : + pluginConfig.appBarRight || + }