language routing

This commit is contained in:
2021-09-28 13:36:19 +01:00
parent 475c9715fc
commit 5f9d239b50
19 changed files with 206 additions and 82 deletions
+9 -3
View File
@@ -107,7 +107,10 @@ const Breadcrumbs = (props) => {
) : (
""
)}
{router.pathname == "/searchresults" ? (
{router.pathname ==
(router.locale == "cy"
? "/canlyniadauchwilio"
: "/searchresults") ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-search-results")}
@@ -439,12 +442,15 @@ const Breadcrumbs = (props) => {
) : (
""
)}
{router.pathname == "/dnsdetails" ? (
{router.pathname ==
(router.locale == "cy"
? "/manyliondns"
: "/dnsdetails") ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
router.locale == "en"
? router.locale +
"/dnsapplications"
: "/dnsapplications"
+6 -4
View File
@@ -31,6 +31,8 @@ const DocumentDetails = (props) => {
searchDetailsObj,
documentDetailsObj,
documentHistoryObj,
setDocumentDetails,
setDocumentHistory,
} = props;
const router = useRouter();
@@ -152,13 +154,13 @@ const DocumentDetails = (props) => {
const docDetailsObj = async () => {
let docObj = await getSearchDocumentDetails1(incidentid)
.then((data) => {
props.setDocumentDetails(data);
setDocumentDetails(data);
return data;
})
.then((data) => {
let historyObj = getDocumentHistory(data.value).then(
(result) => {
props.setDocumentHistory(result);
setDocumentHistory(result);
return result;
}
);
@@ -171,7 +173,7 @@ const DocumentDetails = (props) => {
const getDocumentHistory = async (searchDocumentDetailsObj) => {
let historyArr = [];
searchDocumentDetailsObj = searchDocumentDetailsObj;
searchDocumentDetailsObj = searchDocumentDetailsObj || [];
const detailsObj = searchDocumentDetailsObj.map(
(historyDetail, index) => {
@@ -190,7 +192,7 @@ const DocumentDetails = (props) => {
};
const searchDocumentResultsObj = docDetailsObj();
}, []);
}, [incidentid, setDocumentHistory, setDocumentDetails]);
return (
<div>
+27
View File
@@ -0,0 +1,27 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { DiagConsoleLogger } from "@opentelemetry/api";
const CRMError = (props) => {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const searchResultsObj = props.props.searchResultsObj.searchResultsObj;
console.log(searchResultsObj);
return (
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
Something has happened....
</h1>
<p>
{searchResultsObj.errorCode} - {searchResultsObj.errorMsg}
</p>
</div>
</div>
);
};
export default CRMError;
+26 -9
View File
@@ -4,6 +4,7 @@ import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import SearchForCase from "./search/searchforcase";
import DNSSearchResults from "./search/dnssearchresults";
import CRMError from "./crmError";
export default function Search(props) {
const { searchString, searchResultsObj } = props;
@@ -12,21 +13,37 @@ export default function Search(props) {
const router = useRouter();
const { locale } = router;
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
? true
: false;
console.log("has an error", hasError);
return (
<main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<DNSSearchResults
searchString={searchString}
searchResultsObj={searchResultsObj.searchResultsObj}
searchDetailsObj={searchResultsObj.searchDetailsObj}
/>
</div>
</div>
{hasError ? (
<CRMError props={props} />
) : (
<>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<DNSSearchResults
searchString={searchString}
searchResultsObj={
searchResultsObj.searchResultsObj
}
searchDetailsObj={
searchResultsObj.searchDetailsObj
}
/>
</div>
</div>
</>
)}
</main>
);
}
+4 -1
View File
@@ -77,7 +77,10 @@ let CaseSearch = (props) => {
const onHandleSubmit = (values) => {
spinnerState();
router.replace({
pathname: "/searchresults",
pathname:
router.locale == "cy"
? "/canlyniadauchwilio"
: "/searchresults",
query: { q: values.basicSearch },
shallow: true,
});
+10 -1
View File
@@ -8,6 +8,9 @@ export default function Dns() {
let { t } = useTranslation();
const [showSpinnerState, setShowSpinnerState] = useState(false);
const router = useRouter();
const { locale } = router;
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
@@ -25,7 +28,13 @@ export default function Dns() {
</p>
</div>
<div className="govuk-form-group">
<Link href="/dnsapplications">
<Link
href={
router.locale == "cy"
? "/ceisiadaudns"
: "/dnsapplications"
}
>
<a
className="govuk-button"
onClick={() => {
+8 -11
View File
@@ -19,15 +19,7 @@ const DNSSearchResults = (props) => {
const router = useRouter();
const { locale } = router;
_.isEmpty(searchResultsObj);
let newSearchResultsObj = _.isEmpty(searchResultsObj)
? [{}]
: _.isEmpty(searchResultsObj.value)
? [{}]
: searchResultsObj.value;
var resultsArr = newSearchResultsObj || [];
var resultsArr = searchResultsObj.value || [];
const ResultsView = (resultsArr) => {
return (
@@ -52,7 +44,6 @@ const DNSSearchResults = (props) => {
{t("search:searchresults-status-label")}
</dd>
</div>
{console.log(newSearchResultsObj.length > 0)}
{resultsArr.map((item, key) => {
let detailsObj = jsonpath.query(
@@ -69,7 +60,13 @@ const DNSSearchResults = (props) => {
key={key}
>
<dd className="govuk-summary-list__value govuk-!-font-size-14 ">
<Link href="/dnsdetails">
<Link
href={
router.locale == "cy"
? "/manyliondns"
: "/dnsdetails"
}
>
<a
onClick={() => {
setCurrentReference({
+8 -1
View File
@@ -55,7 +55,13 @@ const SearchResults = (props) => {
return (
<div className="govuk-summary-list__row" key={key}>
<dd className="govuk-summary-list__value govuk-!-font-size-14 ">
<Link href="/case">
<Link
href={
router.locale == "cy"
? "/achos"
: "/case"
}
>
<a
onClick={() => {
setCurrentReference({
@@ -177,6 +183,7 @@ const SearchResults = (props) => {
</dl>
);
};
return (
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
+39 -20
View File
@@ -4,6 +4,7 @@ import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import SearchForCase from "./search/searchforcase";
import SearchResults from "./search/searchresults";
import CRMError from "./crmError";
export default function Search(props) {
const { searchString, searchResultsObj } = props;
@@ -12,38 +13,56 @@ export default function Search(props) {
const router = useRouter();
const { locale } = router;
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
? true
: false;
console.log("has an error", hasError);
return (
<main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<SearchResults
searchString={searchString}
searchResultsObj={searchResultsObj.searchResultsObj}
searchDetailsObj={searchResultsObj.searchDetailsObj}
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link href="/advancedsearch">
<a className="govuk-button">
{t("search:searchresults-search-button-label")}
</a>
</Link>
{/* <a
{hasError ? (
<CRMError props={props} />
) : (
<>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<SearchResults
searchString={searchString}
searchResultsObj={
searchResultsObj.searchResultsObj
}
searchDetailsObj={
searchResultsObj.searchDetailsObj
}
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link href="/advancedsearch">
<a className="govuk-button">
{t(
"search:searchresults-search-button-label"
)}
</a>
</Link>
{/* <a
onClick={() => router.back()}
className="govuk-button govuk-button--secondary"
>
{t("search:searchresults-new-search-button-label")}
</a> */}
</div>
</div>
</div>
</div>
</div>
</>
)}
</main>
);
}