import React, { useContext } from 'react'; import { Link } from 'react-router-dom'; import { clusterPath } from 'lib/paths'; import { BREADCRUMB_DEFINITIONS } from 'lib/constants'; import { BreadcrumbWrapper } from './Breadcrumb.styled'; import { BreadcrumbContext } from './Breadcrumb.context'; const basePathEntriesLength = clusterPath().split('/').length; export interface BreadcrumbDefinitions { [key: string]: string; } const Breadcrumb: React.FC = () => { const breadcrumbContext = useContext(BreadcrumbContext); const links = React.useMemo( () => breadcrumbContext.path.slice(basePathEntriesLength), [breadcrumbContext.path] ); const getPathPredicate = (index: number) => `${breadcrumbContext.link .split('/') .slice(0, basePathEntriesLength + index + 1) .join('/')}`; if (links.length < 2) { return null; } return ( {links.slice(0, links.length - 1).map((link, index) => (
  • {BREADCRUMB_DEFINITIONS[link] || link}
  • ))}
  • {links[links.length - 1]}
  • ); }; export default Breadcrumb;