22541 compose mapped breadcrumb groups in factory and add null fallback guard

This commit is contained in:
2026-04-09 14:30:03 +01:00
parent 96946ed205
commit 8edd23d621
4 changed files with 153 additions and 118 deletions
+21 -58
View File
@@ -17,13 +17,7 @@ import {
buildBreadcrumbRendererMaps,
resolveMappedRouteRenderer as resolveMappedRouteRendererByMaps
} from "../lib/routing/breadcrumbRouteMaps";
import {
createSimpleRouteRenderers,
createSimpleLinkTextPairRenderers,
createSimpleMyPortalRouteRenderers,
createCaseDetailRouteRenderers,
createDetailAndAccountRouteRenderers
} from "../lib/routing/breadcrumbRendererFactories";
import { createMappedRouteRendererGroups } from "../lib/routing/breadcrumbRendererFactories";
const Breadcrumbs = (props) => {
const {
@@ -196,37 +190,6 @@ const Breadcrumbs = (props) => {
</>
);
const simpleRouteRenderersByPath = createSimpleRouteRenderers({
t,
renderTextCrumb,
renderMyPortalSectionCrumbs
});
const simpleLinkTextPairRenderersByPath = createSimpleLinkTextPairRenderers(
{
t,
router,
isWelsh,
renderLinkCrumb,
renderTextCrumb
}
);
const simpleMyPortalRouteRenderersByPath =
createSimpleMyPortalRouteRenderers({
t,
router,
isWelsh,
myPortalHref,
currentViewState,
getViewAllLabel,
renderAnchorCrumb,
renderLinkCrumb,
renderTextCrumb,
renderMyPortalCrumb,
renderMyPortalSectionCrumbs
});
const resolveMappedRouteRenderer = (path) => {
return resolveMappedRouteRendererByMaps(path, mappedRouteRendererMaps);
};
@@ -241,39 +204,39 @@ const Breadcrumbs = (props) => {
query: router.query,
hasSession: Boolean(session),
getViewAllLabel,
advancedLabel: () => t("common:breadcrumb-advanced-search-results"),
addressLabel: () => t("common:breadcrumb-address-search-results"),
defaultLabel: () => t("common:breadcrumb-search-results")
advancedLabel: t("common:breadcrumb-advanced-search-results"),
addressLabel: t("common:breadcrumb-address-search-results"),
defaultLabel: t("common:breadcrumb-search-results")
});
const caseDetailRouteRenderersByPath = createCaseDetailRouteRenderers({
const {
simpleRouteRenderersByPath,
simpleLinkTextPairRenderersByPath,
simpleMyPortalRouteRenderersByPath,
caseDetailRouteRenderersByPath,
detailAndAccountRouteRenderersByPath
} = createMappedRouteRendererGroups({
t,
router,
isWelsh,
myPortalHref,
cyMyPortalHref,
currentViewState,
getViewAllLabel,
caseResultsHref,
breadcrumbLabel,
fallbackSearchTitle,
currentReference,
caseReferenceDisplay,
getViewAllLabel,
renderAnchorCrumb,
renderLinkCrumb,
renderTextCrumb,
renderCaseReferenceCrumb,
renderMyPortalCrumb
renderMyPortalCrumb,
renderMyPortalSectionCrumbs,
renderDnsCaseReferenceCrumbs
});
const detailAndAccountRouteRenderersByPath =
createDetailAndAccountRouteRenderers({
t,
router,
isWelsh,
cyMyPortalHref,
currentReference,
caseReferenceDisplay,
renderMyPortalCrumb,
renderLinkCrumb,
renderCaseReferenceCrumb,
renderDnsCaseReferenceCrumbs
});
const mappedRouteRendererMaps = buildBreadcrumbRendererMaps({
simpleRouteRenderersByPath,
simpleLinkTextPairRenderersByPath,