22541 consolidate breadcrumb mapped route maps into grouped constants
This commit is contained in:
+101
-119
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user