Extract case detail breadcrumb routes into shared renderer factory
This commit is contained in:
@@ -17,7 +17,8 @@ export const createSimpleRouteRenderers = ({
|
||||
"/viewall": () =>
|
||||
renderMyPortalSectionCrumbs(t("common:breadcrumb-your-cases")),
|
||||
"/myportal/dnsapplications": () =>
|
||||
renderMyPortalSectionCrumbs(t("dnsCommon:service-name"))
|
||||
renderMyPortalSectionCrumbs(t("dnsCommon:service-name")),
|
||||
"/dnsapplications": () => renderTextCrumb(t("dnsCommon:service-name"))
|
||||
});
|
||||
|
||||
export const createSimpleLinkTextPairRenderers = ({
|
||||
@@ -105,3 +106,133 @@ export const createSimpleMyPortalRouteRenderers = ({
|
||||
</>
|
||||
)
|
||||
});
|
||||
|
||||
export const createCaseDetailRouteRenderers = ({
|
||||
t,
|
||||
router,
|
||||
isWelsh,
|
||||
caseResultsHref,
|
||||
breadcrumbLabel,
|
||||
fallbackSearchTitle,
|
||||
caseReferenceDisplay,
|
||||
getViewAllLabel,
|
||||
renderLinkCrumb,
|
||||
renderCaseReferenceCrumb,
|
||||
renderMyPortalCrumb
|
||||
}) => ({
|
||||
"/case/[ticketnumber]": () => {
|
||||
const { ads, adv, va, key } = router.query;
|
||||
|
||||
if (ads === "true") {
|
||||
return (
|
||||
<>
|
||||
{renderLinkCrumb(
|
||||
isWelsh
|
||||
? `/${router.locale}/chwiliadcyfeiriadau`
|
||||
: "/addresssearch",
|
||||
t("common:breadcrumb-address-search")
|
||||
)}
|
||||
{renderLinkCrumb(
|
||||
caseResultsHref,
|
||||
t("common:breadcrumb-address-search-results")
|
||||
)}
|
||||
{renderCaseReferenceCrumb(fallbackSearchTitle)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
if (adv === "true") {
|
||||
return (
|
||||
<>
|
||||
{renderLinkCrumb(
|
||||
isWelsh
|
||||
? `/${router.locale}/advancedsearch`
|
||||
: "/advancedsearch",
|
||||
t("common:breadcrumb-advanced-search")
|
||||
)}
|
||||
{renderLinkCrumb(
|
||||
caseResultsHref,
|
||||
t("common:breadcrumb-advanced-search-results")
|
||||
)}
|
||||
{renderCaseReferenceCrumb(fallbackSearchTitle)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
if (va === "true") {
|
||||
return (
|
||||
<>
|
||||
{renderLinkCrumb("/myportal/viewall", getViewAllLabel(key))}
|
||||
{renderCaseReferenceCrumb(fallbackSearchTitle)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{renderLinkCrumb(caseResultsHref, breadcrumbLabel)}
|
||||
{renderCaseReferenceCrumb(fallbackSearchTitle)}
|
||||
</>
|
||||
);
|
||||
},
|
||||
|
||||
"/myportal/case/[ticketnumber]": () => {
|
||||
const { ads, adv, va, key } = router.query;
|
||||
|
||||
if (ads === "true") {
|
||||
return (
|
||||
<>
|
||||
{renderMyPortalCrumb()}
|
||||
{renderLinkCrumb(
|
||||
isWelsh
|
||||
? `/${router.locale}/fymhorth/chwiliadcyfeiriadau`
|
||||
: "/myportal/addresssearch",
|
||||
t("common:breadcrumb-address-search")
|
||||
)}
|
||||
{renderLinkCrumb(
|
||||
caseResultsHref,
|
||||
t("common:breadcrumb-address-search-results")
|
||||
)}
|
||||
{renderCaseReferenceCrumb(caseReferenceDisplay)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
if (adv === "true") {
|
||||
return (
|
||||
<>
|
||||
{renderMyPortalCrumb()}
|
||||
{renderLinkCrumb(
|
||||
isWelsh
|
||||
? `/${router.locale}/myportal/advancedsearch`
|
||||
: "/myportal/advancedsearch",
|
||||
t("common:breadcrumb-advanced-search")
|
||||
)}
|
||||
{renderLinkCrumb(
|
||||
caseResultsHref,
|
||||
t("common:breadcrumb-advanced-search-results")
|
||||
)}
|
||||
{renderCaseReferenceCrumb(caseReferenceDisplay)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
if (va === "true") {
|
||||
return (
|
||||
<>
|
||||
{renderMyPortalCrumb()}
|
||||
{renderLinkCrumb("/myportal/viewall", getViewAllLabel(key))}
|
||||
{renderCaseReferenceCrumb(caseReferenceDisplay)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{renderMyPortalCrumb()}
|
||||
{renderLinkCrumb(caseResultsHref, breadcrumbLabel)}
|
||||
{renderCaseReferenceCrumb(caseReferenceDisplay)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -15,11 +15,13 @@ const resolveMappedRouteRenderer = (path, routeRendererMaps = []) => {
|
||||
const buildBreadcrumbRendererMaps = ({
|
||||
simpleRouteRenderersByPath,
|
||||
simpleLinkTextPairRenderersByPath,
|
||||
simpleMyPortalRouteRenderersByPath
|
||||
simpleMyPortalRouteRenderersByPath,
|
||||
caseDetailRouteRenderersByPath
|
||||
}) => [
|
||||
simpleRouteRenderersByPath,
|
||||
simpleLinkTextPairRenderersByPath,
|
||||
simpleMyPortalRouteRenderersByPath
|
||||
simpleMyPortalRouteRenderersByPath,
|
||||
caseDetailRouteRenderersByPath
|
||||
];
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user