Files
pedwfrontend/lib/routing/breadcrumbRendererFactories.js
T

239 lines
7.5 KiB
JavaScript

import React from "react";
export const createSimpleRouteRenderers = ({
t,
renderTextCrumb,
renderMyPortalSectionCrumbs
}) => ({
"/myportal": () => renderTextCrumb(t("myportal:page-title")),
"/searchresults": () =>
renderTextCrumb(t("common:breadcrumb-search-results")),
"/advancedsearch": () =>
renderTextCrumb(t("common:breadcrumb-advanced-search")),
"/addresssearch": () =>
renderTextCrumb(t("common:breadcrumb-address-search")),
"/contactus": () =>
renderTextCrumb(t("common:footer-contact-us-link-label")),
"/viewall": () =>
renderMyPortalSectionCrumbs(t("common:breadcrumb-your-cases")),
"/myportal/dnsapplications": () =>
renderMyPortalSectionCrumbs(t("dnsCommon:service-name")),
"/dnsapplications": () => renderTextCrumb(t("dnsCommon:service-name"))
});
export const createSimpleLinkTextPairRenderers = ({
t,
router,
isWelsh,
renderLinkCrumb,
renderTextCrumb
}) => ({
"/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"))}
</>
)
});
export const createSimpleMyPortalRouteRenderers = ({
t,
router,
isWelsh,
myPortalHref,
currentViewState,
getViewAllLabel,
renderAnchorCrumb,
renderLinkCrumb,
renderTextCrumb,
renderMyPortalCrumb,
renderMyPortalSectionCrumbs
}) => ({
"/myportal/searchresults": () => (
<>
{renderAnchorCrumb(myPortalHref, t("common:breadcrumb-my-portal"))}
{renderTextCrumb(t("common:breadcrumb-search-results"))}
</>
),
"/myportal/addresssearch": () =>
renderMyPortalSectionCrumbs(t("common:breadcrumb-address-search")),
"/myportal/advancedsearch": () =>
renderMyPortalSectionCrumbs(t("common:breadcrumb-advanced-search")),
"/myportal/contactus": () =>
renderMyPortalSectionCrumbs(t("common:footer-contact-us-link-label")),
"/myportal/viewall": () =>
renderMyPortalSectionCrumbs(
getViewAllLabel(currentViewState.viewKey || router.query.key)
),
"/myportal/advancedsearchresults": () => (
<>
{renderMyPortalCrumb()}
{renderLinkCrumb(
isWelsh
? `/${router.locale}/myportal/advancedsearch`
: "/myportal/advancedsearch",
t("common:breadcrumb-advanced-search")
)}
{renderTextCrumb(t("common:breadcrumb-advanced-search-results"))}
</>
),
"/myportal/addresssearchresults": () => (
<>
{renderMyPortalCrumb()}
{renderLinkCrumb(
isWelsh
? `/${router.locale}/fymhorth/chwiliadcyfeiriadau`
: "/myportal/addresssearch",
t("common:breadcrumb-address-search")
)}
{renderTextCrumb(t("common:breadcrumb-address-search-results"))}
</>
)
});
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)}
</>
);
}
});