22541 extract shared text and link breadcrumb render helpers
This commit is contained in:
+116
-148
@@ -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)}
|
||||
</>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user