1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import * as React from "react";
6 import { MenuItem, Typography } from "@material-ui/core";
7 import { DropdownMenu } from "~/components/dropdown-menu/dropdown-menu";
8 import { HelpIcon } from "~/components/icon/icon";
9 import { ArvadosTheme } from '~/common/custom-theme';
10 import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles';
12 type CssRules = 'link' | 'icon' | 'title' | 'linkTitle';
14 const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
16 textDecoration: 'none',
24 marginLeft: theme.spacing.unit * 2,
25 marginBottom: theme.spacing.unit * 0.5,
29 marginLeft: theme.spacing.unit
34 PIPELINES_DATASETS = "https://dev.arvados.org/projects/arvados/wiki/Public_Pipelines_and_Datasets",
35 TUTORIALS = "http://doc.arvados.org/user/",
36 API_REFERENCE = "http://doc.arvados.org/api/",
37 SDK_REFERENCE = "http://doc.arvados.org/sdk/"
40 export const HelpMenu = withStyles(styles)(
41 ({ classes }: WithStyles<CssRules>) =>
46 <Typography variant="body1" className={classes.title}>Help</Typography>
47 {menuItem("Public Pipelines and Data sets", helpMenuLinks.PIPELINES_DATASETS, classes)}
48 {menuItem("Tutorials and User guide", helpMenuLinks.TUTORIALS, classes)}
49 {menuItem("API Reference", helpMenuLinks.API_REFERENCE, classes)}
50 {menuItem("SDK Reference", helpMenuLinks.SDK_REFERENCE, classes)}
54 // Todo: change help icon
55 const menuItem = (title: string, link: string, classes: Record<CssRules, string>) =>
56 <a href={link} target="_blank" className={classes.link}>
58 <HelpIcon className={classes.icon} />
59 <Typography variant="body1" className={classes.linkTitle}>{title}</Typography>