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 createNewAppealRouteRenderers = ({ t, myPortalHref, renderLinkCrumb, renderTextCrumb }) => ({ "/newappeal/selectappeal": () => ( <> {renderLinkCrumb(myPortalHref, t("newappeal:parent-page-title"))} {renderLinkCrumb(myPortalHref, t("newappeal:page-title"))} {renderTextCrumb("Select Appeal")} > ) }); export const createCallbackRouteRenderers = ({ t, router, isWelsh, nestedSearchString, currentReference, renderMyPortalCrumb, renderLinkCrumb, renderCaseReferenceCrumb, onBack }) => ({ "/myportal/case/id/[incident]": () => ( <> {renderMyPortalCrumb()} {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"), onBack )} {renderCaseReferenceCrumb(currentReference)} > ), "/case": () => ( <> {renderLinkCrumb( isWelsh ? `${router.locale}/searchresults?q=${router.query.q}&page=${router.query.page}` : `/searchresults?q=${router.query.q}&page=${router.query.page}`, t("common:breadcrumb-search-results"), onBack )} {renderCaseReferenceCrumb(currentReference)} > ) }); export const createStepBackRouteRenderers = ({ t, currentSection, onStepBack, onStepBackWithInlineClass, renderLinkCrumb, renderBackCrumb }) => ({ "/newappeal/[appealtypes]": () => { if (currentSection <= 1) { return null; } if (currentSection === 9999) { return renderLinkCrumb("/", t("common:service-name-breadcrumb")); } return renderBackCrumb( onStepBackWithInlineClass, "govuk-breadcrumbs__link-item" ); }, "/myportal/[appealtypes]": () => { if (currentSection <= 1) { return null; } if (currentSection === 9999) { return renderLinkCrumb("/", t("common:service-name-breadcrumb")); } return renderBackCrumb(onStepBack); } }); export const createRepresentationRouteRenderers = ({ currentView, hasRepDetails, repDetails, showQuestionnaireSection, onRepresentationSubmitBackFromConfirmation, onRepresentationSubmitBackToDetails, onRepresentationQuestionnaireBack, renderBackCrumb }) => ({ "/myportal/representation": () => ( <> {currentView.representationSubmit === true && currentView.representationSubmitConfirmation !== true && renderBackCrumb(onRepresentationSubmitBackFromConfirmation)} {currentView.representationSubmit !== true && hasRepDetails && repDetails?.representationType !== "Questionnaire" && renderBackCrumb(onRepresentationSubmitBackToDetails)} {currentView.representationSubmit !== true && hasRepDetails && repDetails?.representationType === "Questionnaire" && showQuestionnaireSection > 1 && renderBackCrumb(onRepresentationQuestionnaireBack)} > ) }); export const createCaseDetailRouteRenderers = ({ t, router, isWelsh, currentReference, nestedSearchString, caseResultsHref, breadcrumbLabel, fallbackSearchTitle, caseReferenceDisplay, getViewAllLabel, renderLinkCrumb, renderCaseReferenceCrumb, renderMyPortalCrumb }) => ({ "/myportal/case": () => ( <> {renderLinkCrumb( isWelsh ? `/${router.locale}/fymhorth` : "/myportal", t("common:breadcrumb-my-portal") )} {renderCaseReferenceCrumb(currentReference)} > ), "/case/id/[incident]": () => ( <> {renderLinkCrumb( isWelsh ? `/${router.locale}/chwiliadcyfeiriadau` : "/addresssearch", t("common:breadcrumb-address-search") )} {renderLinkCrumb( isWelsh ? `/${router.locale}/canlyniadaucyfeiriadau?${nestedSearchString}` : `/addresssearchresults?${nestedSearchString}`, t("common:breadcrumb-address-search-results") )} {renderCaseReferenceCrumb(currentReference)} > ), "/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)} > ); } }); export const createDetailAndAccountRouteRenderers = ({ t, router, isWelsh, cyMyPortalHref, currentReference, caseReferenceDisplay, renderMyPortalCrumb, renderLinkCrumb, renderCaseReferenceCrumb, renderDnsCaseReferenceCrumbs }) => ({ "/myportal/dnsdetails": () => ( <> {renderMyPortalCrumb()} {renderLinkCrumb( "/myportal/dnsapplications", t("dnsCommon:service-name") )} {renderCaseReferenceCrumb(currentReference)} > ), "/myportal/dns/[developmentName]": () => ( <> {renderMyPortalCrumb()} {renderLinkCrumb( "/myportal/dnsapplications", t("dnsCommon:service-name") )} {renderCaseReferenceCrumb(caseReferenceDisplay)} > ), "/dnsdetails": () => renderDnsCaseReferenceCrumbs(currentReference), "/dns/[developmentName]": () => renderDnsCaseReferenceCrumbs(caseReferenceDisplay), "/dns/application-view": () => ( <> {renderLinkCrumb( isWelsh ? `/${router.locale}/dns/applications` : "/dns/applications", t("dnsApplicationView:page-parent-title") )} {renderLinkCrumb( isWelsh ? `/${router.locale}/dnsapplications` : "/dnsapplications", t("dnsCommon:service-name") )} {renderCaseReferenceCrumb("TWA - Morlais Demonstration Zone")} > ), "/account/personaldetails": () => ( <> {renderLinkCrumb(cyMyPortalHref, t("common:breadcrumb-my-portal"))}