X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/488c558be1f9b4a9aa48a06d43b97db0d8ff9101..616395646c46f90c46ad97bd9a335ab326e5a040:/src/components/breadcrumbs/breadcrumbs.tsx?ds=sidebyside diff --git a/src/components/breadcrumbs/breadcrumbs.tsx b/src/components/breadcrumbs/breadcrumbs.tsx index 7fa85ca0..41f71981 100644 --- a/src/components/breadcrumbs/breadcrumbs.tsx +++ b/src/components/breadcrumbs/breadcrumbs.tsx @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; -import { Button, Grid, StyleRulesCallback, WithStyles } from '@material-ui/core'; +import { Button, Grid, StyleRulesCallback, WithStyles, Typography, Tooltip } from '@material-ui/core'; import ChevronRightIcon from '@material-ui/icons/ChevronRight'; import { withStyles } from '@material-ui/core'; @@ -13,59 +13,54 @@ export interface Breadcrumb { interface BreadcrumbsProps { items: Breadcrumb[]; - onClick: (breadcrumb: Breadcrumb) => any; + onClick: (breadcrumb: Breadcrumb) => void; } -class Breadcrumbs extends React.Component> { - - render() { - const { classes, onClick } = this.props; - return - { - this.getInactiveItems().map((item, index) => ( +const Breadcrumbs: React.SFC> = ({ classes, onClick, items }) => { + return + { + items.map((item, index) => { + const isLastItem = index === items.length - 1; + return ( - - + + + + { + !isLastItem && + } - )) - } - { - this.getActiveItem().map((item, index) => ( - - )) - } - ; - } - - getInactiveItems = () => { - return this.props.items.slice(0, -1); - } - - getActiveItem = () => { - return this.props.items.slice(-1); - } - -} + ); + }) + } + ; +}; -type CssRules = 'inactiveItem'; +type CssRules = "item" | "currentItem" | "label"; const styles: StyleRulesCallback = theme => { const { unit } = theme.spacing; return { - inactiveItem: { + item: { opacity: 0.6 + }, + currentItem: { + opacity: 1 + }, + label: { + textTransform: "none" } }; };