22541 extract simple link-text breadcrumb route map and add structure tests
This commit is contained in:
+40
-32
@@ -133,6 +133,39 @@ const Breadcrumbs = (props) => {
|
||||
return simpleRouteRenderersByPath[path] || null;
|
||||
};
|
||||
|
||||
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 renderMyPortalCrumb = () => (
|
||||
<li className="govuk-breadcrumbs__list-item">
|
||||
<Link href={myPortalHref} className="govuk-breadcrumbs__link">
|
||||
@@ -235,6 +268,13 @@ const Breadcrumbs = (props) => {
|
||||
? renderSimpleRoute()
|
||||
: null;
|
||||
})()}
|
||||
{(() => {
|
||||
const renderSimpleLinkTextPair =
|
||||
getSimpleLinkTextPairRenderer(pathname);
|
||||
return renderSimpleLinkTextPair
|
||||
? renderSimpleLinkTextPair()
|
||||
: null;
|
||||
})()}
|
||||
{isPath("/myportal/searchresults") && (
|
||||
<>
|
||||
{renderAnchorCrumb(
|
||||
@@ -258,38 +298,6 @@ const Breadcrumbs = (props) => {
|
||||
renderMyPortalSectionCrumbs(
|
||||
t("common:footer-contact-us-link-label")
|
||||
)}
|
||||
{isPath("/addresssearchresults") && (
|
||||
<>
|
||||
{" "}
|
||||
{renderLinkCrumb(
|
||||
isWelsh
|
||||
? router.locale + "/chwiliadcyfeiriadau"
|
||||
: "/addresssearch",
|
||||
t("common:breadcrumb-address-search")
|
||||
)}
|
||||
{renderTextCrumb(
|
||||
t(
|
||||
"common:breadcrumb-address-search-results"
|
||||
)
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{isPath("/advancedsearchresults") && (
|
||||
<>
|
||||
{" "}
|
||||
{renderLinkCrumb(
|
||||
isWelsh
|
||||
? router.locale + "/advancedsearch"
|
||||
: "/advancedsearch",
|
||||
t("common:breadcrumb-advanced-search")
|
||||
)}
|
||||
{renderTextCrumb(
|
||||
t(
|
||||
"common:breadcrumb-advanced-search-results"
|
||||
)
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{isPath("/myportal/advancedsearchresults") && (
|
||||
<>
|
||||
{renderMyPortalCrumb()}
|
||||
|
||||
Reference in New Issue
Block a user