22541 extract shared text and link breadcrumb render helpers

This commit is contained in:
2026-04-09 09:38:14 +01:00
parent d75675f059
commit d576987fcf
2 changed files with 144 additions and 148 deletions
+116 -148
View File
@@ -106,6 +106,22 @@ const Breadcrumbs = (props) => {
</li>
);
const renderTextCrumb = (label) => (
<li className="govuk-breadcrumbs__list-item">{label}</li>
);
const renderLinkCrumb = (href, label, onClick) => (
<li className="govuk-breadcrumbs__list-item">
<Link
href={href}
onClick={onClick}
className="govuk-breadcrumbs__link"
>
{label}
</Link>
</li>
);
const { breadcrumbHref, caseResultsHref, breadcrumbLabel } =
resolveCaseBreadcrumbState({
query: router.query,
@@ -157,147 +173,121 @@ const Breadcrumbs = (props) => {
)}
{isPath("/searchresults") && (
<>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-search-results")}
</li>
{renderTextCrumb(
t("common:breadcrumb-search-results")
)}
</>
)}
{isPath("/advancedsearch") && (
<>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-advanced-search")}
</li>
{renderTextCrumb(
t("common:breadcrumb-advanced-search")
)}
</>
)}
{isPath("/addresssearch") && (
<>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-address-search")}
</li>
{renderTextCrumb(
t("common:breadcrumb-address-search")
)}
</>
)}
{isPath("/myportal/addresssearch") && (
<>
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-address-search")}
</li>
{renderTextCrumb(
t("common:breadcrumb-address-search")
)}
</>
)}
{isPath("/myportal/advancedsearch") && (
<>
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-advanced-search")}
</li>
{renderTextCrumb(
t("common:breadcrumb-advanced-search")
)}
</>
)}
{isPath("/myportal/contactus") && (
<>
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
{t("common:footer-contact-us-link-label")}
</li>
{renderTextCrumb(
t("common:footer-contact-us-link-label")
)}
</>
)}
{isPath("/contactus") && (
<>
<li className="govuk-breadcrumbs__list-item">
{t("common:footer-contact-us-link-label")}
</li>
{renderTextCrumb(
t("common:footer-contact-us-link-label")
)}
</>
)}
{isPath("/addresssearchresults") && (
<>
{" "}
<li className="govuk-breadcrumbs__list-item">
<Link
href={
isWelsh
? router.locale +
"/chwiliadcyfeiriadau"
: "/addresssearch"
}
className="govuk-breadcrumbs__link"
>
{t("common:breadcrumb-address-search")}
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t(
{renderLinkCrumb(
isWelsh
? router.locale + "/chwiliadcyfeiriadau"
: "/addresssearch",
t("common:breadcrumb-address-search")
)}
{renderTextCrumb(
t(
"common:breadcrumb-address-search-results"
)}
</li>
)
)}
</>
)}
{isPath("/advancedsearchresults") && (
<>
{" "}
<li className="govuk-breadcrumbs__list-item">
<Link
href={
isWelsh
? router.locale +
"/advancedsearch"
: "/advancedsearch"
}
className="govuk-breadcrumbs__link"
>
{t("common:breadcrumb-advanced-search")}
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t(
{renderLinkCrumb(
isWelsh
? router.locale + "/advancedsearch"
: "/advancedsearch",
t("common:breadcrumb-advanced-search")
)}
{renderTextCrumb(
t(
"common:breadcrumb-advanced-search-results"
)}
</li>
)
)}
</>
)}
{isPath("/myportal/advancedsearchresults") && (
<>
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
<Link
href={
isWelsh
? router.locale +
"/myportal/advancedsearch"
: "/myportal/advancedsearch"
}
className="govuk-breadcrumbs__link"
>
{t("common:breadcrumb-advanced-search")}
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t(
{renderLinkCrumb(
isWelsh
? router.locale +
"/myportal/advancedsearch"
: "/myportal/advancedsearch",
t("common:breadcrumb-advanced-search")
)}
{renderTextCrumb(
t(
"common:breadcrumb-advanced-search-results"
)}
</li>
)
)}
</>
)}
{isPath("/myportal/addresssearchresults") && (
<>
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
<Link
href={
isWelsh
? "/" +
router.locale +
"/fymhorth/chwiliadcyfeiriadau"
: "/myportal/addresssearch"
}
className="govuk-breadcrumbs__link"
>
{t("common:breadcrumb-address-search")}
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t(
{renderLinkCrumb(
isWelsh
? "/" +
router.locale +
"/fymhorth/chwiliadcyfeiriadau"
: "/myportal/addresssearch",
t("common:breadcrumb-address-search")
)}
{renderTextCrumb(
t(
"common:breadcrumb-address-search-results"
)}
</li>
)
)}
</>
)}
{isPath("/newappeal") && <></>}
@@ -393,9 +383,9 @@ const Breadcrumbs = (props) => {
{isPath("/viewall") && (
<>
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-your-cases")}
</li>
{renderTextCrumb(
t("common:breadcrumb-your-cases")
)}
</>
)}
{isPath("/myportal/viewall") && (
@@ -482,42 +472,30 @@ const Breadcrumbs = (props) => {
<>
{" "}
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
<Link
href={
isWelsh
? "/" +
router.locale +
"/fymhorth/chwiliadcyfeiriadau"
: "/myportal/addresssearch"
}
className="govuk-breadcrumbs__link"
>
{t("common:breadcrumb-address-search")}
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
isWelsh
? "/" +
router.locale +
"/fymhorth/canlyniadaucyfeiriadau?" +
nestedSearchString
: "/myportal/addresssearchresults?" +
nestedSearchString
}
onClick={() => {
// spinnerState();
router.back();
}}
className="govuk-breadcrumbs__link"
>
{t(
"common:breadcrumb-address-search-results"
)}
</Link>
</li>
{renderLinkCrumb(
isWelsh
? "/" +
router.locale +
"/fymhorth/chwiliadcyfeiriadau"
: "/myportal/addresssearch",
t("common:breadcrumb-address-search")
)}
{renderLinkCrumb(
isWelsh
? "/" +
router.locale +
"/fymhorth/canlyniadaucyfeiriadau?" +
nestedSearchString
: "/myportal/addresssearchresults?" +
nestedSearchString,
t(
"common:breadcrumb-address-search-results"
),
() => {
// spinnerState();
router.back();
}
)}
{renderCaseReferenceCrumb(currentReference)}
</>
)}
@@ -539,22 +517,16 @@ const Breadcrumbs = (props) => {
<>
{" "}
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
{t("dnsCommon:service-name")}
</li>
{renderTextCrumb(t("dnsCommon:service-name"))}
</>
)}
{isPath("/myportal/dnsdetails") && (
<>
{renderMyPortalCrumb()}
<li className="govuk-breadcrumbs__list-item">
<Link
href={"/myportal/dnsapplications"}
className="govuk-breadcrumbs__link"
>
{t("dnsCommon:service-name")}
</Link>
</li>
{renderLinkCrumb(
"/myportal/dnsapplications",
t("dnsCommon:service-name")
)}
{renderCaseReferenceCrumb(currentReference)}
</>
)}
@@ -572,14 +544,10 @@ const Breadcrumbs = (props) => {
{t("common:breadcrumb-my-portal")}
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link
href={"/myportal/dnsapplications"}
className="govuk-breadcrumbs__link"
>
{t("dnsCommon:service-name")}
</Link>
</li>
{renderLinkCrumb(
"/myportal/dnsapplications",
t("dnsCommon:service-name")
)}
{renderCaseReferenceCrumb(caseReferenceDisplay)}
</>
)}