import { grey } from '@material-ui/core/colors'; import React from 'react'; import { makeStyles } from '@material-ui/core/styles'; import { Link } from 'react-router-dom'; const useStyles = makeStyles(theme => ({ root: { color: grey[500], fontSize: '0.875rem', lineHeight: '160%', marginBottom: theme.spacing(), }, element: { '&:not(:first-child)::before': { content: "' / '", }, }, link: { textDecoration: 'none', color: 'inherit', '&:hover': { textDecoration: 'underline', }, }, })); export interface LinkConfig { text: string; link: string; } export interface BreadcrumbProps { elements: (string | LinkConfig)[]; } const ItemWithLink = ({ item }: { item: LinkConfig }) => { const classes = useStyles(); return ( {item.text} ); }; const Item = ({ item }: { item: string }) => {item}; const Breadcrumbs = ({ elements }: BreadcrumbProps) => { const classes = useStyles(); return (
{elements.map((element, index) => ( {typeof element === 'string' ? : } ))}
); }; export default Breadcrumbs;