Extract additional routes in to shared renderer factory

This commit is contained in:
2026-04-09 13:56:17 +01:00
parent c264830934
commit 96946ed205
7 changed files with 293 additions and 88 deletions
+18 -73
View File
@@ -21,7 +21,8 @@ import {
createSimpleRouteRenderers,
createSimpleLinkTextPairRenderers,
createSimpleMyPortalRouteRenderers,
createCaseDetailRouteRenderers
createCaseDetailRouteRenderers,
createDetailAndAccountRouteRenderers
} from "../lib/routing/breadcrumbRendererFactories";
const Breadcrumbs = (props) => {
@@ -259,11 +260,26 @@ const Breadcrumbs = (props) => {
renderMyPortalCrumb
});
const detailAndAccountRouteRenderersByPath =
createDetailAndAccountRouteRenderers({
t,
router,
isWelsh,
cyMyPortalHref,
currentReference,
caseReferenceDisplay,
renderMyPortalCrumb,
renderLinkCrumb,
renderCaseReferenceCrumb,
renderDnsCaseReferenceCrumbs
});
const mappedRouteRendererMaps = buildBreadcrumbRendererMaps({
simpleRouteRenderersByPath,
simpleLinkTextPairRenderersByPath,
simpleMyPortalRouteRenderersByPath,
caseDetailRouteRenderersByPath
caseDetailRouteRenderersByPath,
detailAndAccountRouteRenderersByPath
});
const staticTextCrumbLabel = getStaticTextCrumbLabel(pathname);
@@ -398,33 +414,6 @@ const Breadcrumbs = (props) => {
</>
)}
{isPath("/myportal/dnsdetails") && (
<>
{renderMyPortalCrumb()}
{renderLinkCrumb(
"/myportal/dnsapplications",
t("dnsCommon:service-name")
)}
{renderCaseReferenceCrumb(currentReference)}
</>
)}
{isPath("/myportal/dns/[developmentName]") && (
<>
{renderLinkCrumb(
isWelsh
? `${router.locale}/fymhorth`
: "/myportal",
t("common:breadcrumb-my-portal")
)}
{renderLinkCrumb(
"/myportal/dnsapplications",
t("dnsCommon:service-name")
)}
{renderCaseReferenceCrumb(caseReferenceDisplay)}
</>
)}
{isPath("/case") && (
<>
{renderLinkCrumb(
@@ -471,50 +460,6 @@ const Breadcrumbs = (props) => {
</>
)}
{isPath("/account/personaldetails") && (
<>
{renderLinkCrumb(
cyMyPortalHref,
t("common:breadcrumb-my-portal")
)}
<li className="govuk-breadcrumbs__list-item">
{t("account:account-title")}
</li>
</>
)}
{isPath("/account/changepassword") && (
<>
{renderLinkCrumb(
cyMyPortalHref,
t("common:breadcrumb-my-portal")
)}
<li className="govuk-breadcrumbs__list-item">
Update your password
</li>
</>
)}
{isPath("/dnsdetails") &&
renderDnsCaseReferenceCrumbs(currentReference)}
{isPath("/dns/[developmentName]") &&
renderDnsCaseReferenceCrumbs(caseReferenceDisplay)}
{isPath("/dns/application-view") && (
<>
{renderLinkCrumb(
isWelsh
? `${router.locale}/dns/applications`
: "/dns/applications",
t("dnsApplicationView:page-parent-title")
)}
<li className="govuk-breadcrumbs__list-item">
TWA - Morlais Demonstration Zone
</li>
</>
)}
{staticTextCrumbLabel &&
renderTextCrumb(staticTextCrumbLabel)}
</ol>