22541 consolidate breadcrumb mapped route maps into grouped constants

This commit is contained in:
2026-04-09 10:21:09 +01:00
parent ee3f3eae74
commit 78d62c541f
3 changed files with 148 additions and 119 deletions
+101 -119
View File
@@ -113,132 +113,114 @@ const Breadcrumbs = (props) => {
return staticTextCrumbByPath[path] || null;
};
const getSimpleRouteRenderer = (path) => {
const simpleRouteRenderersByPath = {
"/myportal": () => renderTextCrumb(t("myportal:page-title")),
"/searchresults": () =>
renderTextCrumb(t("common:breadcrumb-search-results")),
"/advancedsearch": () =>
renderTextCrumb(t("common:breadcrumb-advanced-search")),
"/addresssearch": () =>
renderTextCrumb(t("common:breadcrumb-address-search")),
"/contactus": () =>
renderTextCrumb(t("common:footer-contact-us-link-label")),
"/viewall": () =>
renderMyPortalSectionCrumbs(t("common:breadcrumb-your-cases")),
"/myportal/dnsapplications": () =>
renderMyPortalSectionCrumbs(t("dnsCommon:service-name"))
};
return simpleRouteRenderersByPath[path] || null;
const simpleRouteRenderersByPath = {
"/myportal": () => renderTextCrumb(t("myportal:page-title")),
"/searchresults": () =>
renderTextCrumb(t("common:breadcrumb-search-results")),
"/advancedsearch": () =>
renderTextCrumb(t("common:breadcrumb-advanced-search")),
"/addresssearch": () =>
renderTextCrumb(t("common:breadcrumb-address-search")),
"/contactus": () =>
renderTextCrumb(t("common:footer-contact-us-link-label")),
"/viewall": () =>
renderMyPortalSectionCrumbs(t("common:breadcrumb-your-cases")),
"/myportal/dnsapplications": () =>
renderMyPortalSectionCrumbs(t("dnsCommon:service-name"))
};
const getSimpleLinkTextPairRenderer = (path) => {
const simpleLinkTextPairRenderersByPath = {
"/addresssearchresults": () => (
<>
{renderLinkCrumb(
isWelsh
? router.locale + "/chwiliadcyfeiriadau"
: "/addresssearch",
t("common:breadcrumb-address-search")
)}
{renderTextCrumb(
t("common:breadcrumb-address-search-results")
)}
</>
),
"/advancedsearchresults": () => (
<>
{renderLinkCrumb(
isWelsh
? router.locale + "/advancedsearch"
: "/advancedsearch",
t("common:breadcrumb-advanced-search")
)}
{renderTextCrumb(
t("common:breadcrumb-advanced-search-results")
)}
</>
)
};
return simpleLinkTextPairRenderersByPath[path] || null;
};
const getSimpleMyPortalRouteRenderer = (path) => {
const simpleMyPortalRouteRenderersByPath = {
"/myportal/searchresults": () => (
<>
{renderAnchorCrumb(
myPortalHref,
t("common:breadcrumb-my-portal")
)}
{renderTextCrumb(t("common:breadcrumb-search-results"))}
</>
),
"/myportal/addresssearch": () =>
renderMyPortalSectionCrumbs(
const simpleLinkTextPairRenderersByPath = {
"/addresssearchresults": () => (
<>
{renderLinkCrumb(
isWelsh
? router.locale + "/chwiliadcyfeiriadau"
: "/addresssearch",
t("common:breadcrumb-address-search")
),
"/myportal/advancedsearch": () =>
renderMyPortalSectionCrumbs(
)}
{renderTextCrumb(t("common:breadcrumb-address-search-results"))}
</>
),
"/advancedsearchresults": () => (
<>
{renderLinkCrumb(
isWelsh
? router.locale + "/advancedsearch"
: "/advancedsearch",
t("common:breadcrumb-advanced-search")
),
"/myportal/contactus": () =>
renderMyPortalSectionCrumbs(
t("common:footer-contact-us-link-label")
),
"/myportal/viewall": () =>
renderMyPortalSectionCrumbs(
getViewAllLabel(
currentViewState.viewKey || router.query.key
)
),
"/myportal/advancedsearchresults": () => (
<>
{renderMyPortalCrumb()}
{renderLinkCrumb(
isWelsh
? router.locale + "/myportal/advancedsearch"
: "/myportal/advancedsearch",
t("common:breadcrumb-advanced-search")
)}
{renderTextCrumb(
t("common:breadcrumb-advanced-search-results")
)}
</>
),
"/myportal/addresssearchresults": () => (
<>
{renderMyPortalCrumb()}
{renderLinkCrumb(
isWelsh
? "/" +
router.locale +
"/fymhorth/chwiliadcyfeiriadau"
: "/myportal/addresssearch",
t("common:breadcrumb-address-search")
)}
{renderTextCrumb(
t("common:breadcrumb-address-search-results")
)}
</>
)
};
return simpleMyPortalRouteRenderersByPath[path] || null;
)}
{renderTextCrumb(
t("common:breadcrumb-advanced-search-results")
)}
</>
)
};
const simpleMyPortalRouteRenderersByPath = {
"/myportal/searchresults": () => (
<>
{renderAnchorCrumb(
myPortalHref,
t("common:breadcrumb-my-portal")
)}
{renderTextCrumb(t("common:breadcrumb-search-results"))}
</>
),
"/myportal/addresssearch": () =>
renderMyPortalSectionCrumbs(t("common:breadcrumb-address-search")),
"/myportal/advancedsearch": () =>
renderMyPortalSectionCrumbs(t("common:breadcrumb-advanced-search")),
"/myportal/contactus": () =>
renderMyPortalSectionCrumbs(
t("common:footer-contact-us-link-label")
),
"/myportal/viewall": () =>
renderMyPortalSectionCrumbs(
getViewAllLabel(currentViewState.viewKey || router.query.key)
),
"/myportal/advancedsearchresults": () => (
<>
{renderMyPortalCrumb()}
{renderLinkCrumb(
isWelsh
? router.locale + "/myportal/advancedsearch"
: "/myportal/advancedsearch",
t("common:breadcrumb-advanced-search")
)}
{renderTextCrumb(
t("common:breadcrumb-advanced-search-results")
)}
</>
),
"/myportal/addresssearchresults": () => (
<>
{renderMyPortalCrumb()}
{renderLinkCrumb(
isWelsh
? "/" + router.locale + "/fymhorth/chwiliadcyfeiriadau"
: "/myportal/addresssearch",
t("common:breadcrumb-address-search")
)}
{renderTextCrumb(t("common:breadcrumb-address-search-results"))}
</>
)
};
const mappedRouteRendererMaps = [
simpleRouteRenderersByPath,
simpleLinkTextPairRenderersByPath,
simpleMyPortalRouteRenderersByPath
];
const getMappedRendererByPath = (path, routeRendererMap) =>
routeRendererMap[path] || null;
const resolveMappedRouteRenderer = (path) => {
const mappedResolvers = [
getSimpleRouteRenderer,
getSimpleLinkTextPairRenderer,
getSimpleMyPortalRouteRenderer
];
for (const resolveRenderer of mappedResolvers) {
const routeRenderer = resolveRenderer(path);
for (const routeRendererMap of mappedRouteRendererMaps) {
const routeRenderer = getMappedRendererByPath(
path,
routeRendererMap
);
if (routeRenderer) {
return routeRenderer;
}