Extract case detail breadcrumb routes into shared renderer factory
This commit is contained in:
+31
-38
@@ -20,7 +20,8 @@ import {
|
||||
import {
|
||||
createSimpleRouteRenderers,
|
||||
createSimpleLinkTextPairRenderers,
|
||||
createSimpleMyPortalRouteRenderers
|
||||
createSimpleMyPortalRouteRenderers,
|
||||
createCaseDetailRouteRenderers
|
||||
} from "../lib/routing/breadcrumbRendererFactories";
|
||||
|
||||
const Breadcrumbs = (props) => {
|
||||
@@ -90,12 +91,11 @@ const Breadcrumbs = (props) => {
|
||||
|
||||
const getViewAllLabel = (viewKey) => {
|
||||
const labelsByKey = {
|
||||
awaitingSubmissionDetails: t(
|
||||
"myportal:awatitingsubmission-card-title"
|
||||
),
|
||||
watchedCases: t("myportal:watchedcases-card-title"),
|
||||
myCases: t("myportal:mycases-card-title"),
|
||||
myRepresentations: t("myportal:myrepresentations-card-title"),
|
||||
awaitingSubmissionDetails: () =>
|
||||
t("myportal:awatitingsubmission-card-title"),
|
||||
watchedCases: () => t("myportal:watchedcases-card-title"),
|
||||
myCases: () => t("myportal:mycases-card-title"),
|
||||
myRepresentations: () => t("myportal:myrepresentations-card-title"),
|
||||
mySubmittedReps: "Submitted representations"
|
||||
};
|
||||
|
||||
@@ -107,7 +107,6 @@ const Breadcrumbs = (props) => {
|
||||
"/account/register": () =>
|
||||
t("account:register-new-account-heading"),
|
||||
"/dns": () => t("dnsCommon:service-name"),
|
||||
"/dnsapplications": () => t("dnsCommon:service-name"),
|
||||
"/dns/application-process": () => "Guidance",
|
||||
"/dns/help": () => "Help",
|
||||
"/dns/contact-us": () => t("common:footer-contact-us-link-label"),
|
||||
@@ -227,12 +226,6 @@ const Breadcrumbs = (props) => {
|
||||
renderMyPortalSectionCrumbs
|
||||
});
|
||||
|
||||
const mappedRouteRendererMaps = buildBreadcrumbRendererMaps({
|
||||
simpleRouteRenderersByPath,
|
||||
simpleLinkTextPairRenderersByPath,
|
||||
simpleMyPortalRouteRenderersByPath
|
||||
});
|
||||
|
||||
const resolveMappedRouteRenderer = (path) => {
|
||||
return resolveMappedRouteRendererByMaps(path, mappedRouteRendererMaps);
|
||||
};
|
||||
@@ -247,11 +240,32 @@ const Breadcrumbs = (props) => {
|
||||
query: router.query,
|
||||
hasSession: Boolean(session),
|
||||
getViewAllLabel,
|
||||
advancedLabel: t("common:breadcrumb-advanced-search-results"),
|
||||
addressLabel: t("common:breadcrumb-address-search-results"),
|
||||
defaultLabel: t("common:breadcrumb-search-results")
|
||||
advancedLabel: () => t("common:breadcrumb-advanced-search-results"),
|
||||
addressLabel: () => t("common:breadcrumb-address-search-results"),
|
||||
defaultLabel: () => t("common:breadcrumb-search-results")
|
||||
});
|
||||
|
||||
const caseDetailRouteRenderersByPath = createCaseDetailRouteRenderers({
|
||||
t,
|
||||
router,
|
||||
isWelsh,
|
||||
caseResultsHref,
|
||||
breadcrumbLabel,
|
||||
fallbackSearchTitle,
|
||||
caseReferenceDisplay,
|
||||
getViewAllLabel,
|
||||
renderLinkCrumb,
|
||||
renderCaseReferenceCrumb,
|
||||
renderMyPortalCrumb
|
||||
});
|
||||
|
||||
const mappedRouteRendererMaps = buildBreadcrumbRendererMaps({
|
||||
simpleRouteRenderersByPath,
|
||||
simpleLinkTextPairRenderersByPath,
|
||||
simpleMyPortalRouteRenderersByPath,
|
||||
caseDetailRouteRenderersByPath
|
||||
});
|
||||
|
||||
const staticTextCrumbLabel = getStaticTextCrumbLabel(pathname);
|
||||
|
||||
return (
|
||||
@@ -340,16 +354,6 @@ const Breadcrumbs = (props) => {
|
||||
</>
|
||||
)}
|
||||
|
||||
{isPath("/case/[ticketnumber]") && (
|
||||
<>
|
||||
{renderLinkCrumb(
|
||||
caseResultsHref,
|
||||
breadcrumbLabel
|
||||
)}
|
||||
{renderCaseReferenceCrumb(fallbackSearchTitle)}
|
||||
</>
|
||||
)}
|
||||
|
||||
{isPath("/case/id/[incident]") && (
|
||||
<>
|
||||
{renderLinkCrumb(
|
||||
@@ -394,17 +398,6 @@ const Breadcrumbs = (props) => {
|
||||
</>
|
||||
)}
|
||||
|
||||
{isPath("/myportal/case/[ticketnumber]") && (
|
||||
<>
|
||||
{renderMyPortalCrumb()}
|
||||
{renderLinkCrumb(
|
||||
breadcrumbHref,
|
||||
breadcrumbLabel
|
||||
)}
|
||||
{renderCaseReferenceCrumb(caseReferenceDisplay)}
|
||||
</>
|
||||
)}
|
||||
|
||||
{isPath("/myportal/dnsdetails") && (
|
||||
<>
|
||||
{renderMyPortalCrumb()}
|
||||
|
||||
Reference in New Issue
Block a user