import { Breadcrumb } from '@arco-design/web-react'; import { IconHome } from '@arco-design/web-react/icon'; import React from 'react'; import { NavLink } from 'react-router-dom'; import { useLocation } from 'react-router'; import { useMemo } from 'react'; import { useMenuStore } from '../../store/menu'; import { useTranslation } from 'react-i18next'; import { startCase } from 'lodash-es'; import { useTushanContext } from '../../context/tushan'; export const TushanBreadcrumb: React.FC = React.memo(() => { const location = useLocation(); const { t } = useTranslation(); const { dashboard } = useTushanContext(); const title = useMemo(() => { const menu = useMenuStore .getState() .findMenuBySelector((menu) => location.pathname.startsWith(`/${menu.key}`) ); if (!menu) { return ''; } return ( menu.label ?? t(`resources.${menu.key}.name`, { defaultValue: startCase(menu.key), }) ); }, [location.pathname, t]); return ( {dashboard !== false ? ( {t('tushan.breadcrumb.home')} ) : (
{t('tushan.breadcrumb.home')}
)}
{title && {title}}
); }); TushanBreadcrumb.displayName = 'TushanBreadcrumb';