Merged PR 481: language routing
language routing Related work items: #6253
This commit is contained in:
+10
@@ -4,6 +4,16 @@ RELAYPATH = "dev-pedw-hc"
|
||||
SASKEY = "Ml0Y/S/nfRcmIrHFRkO4jNm2J3iH52TSxPiak7+E1+Y="
|
||||
SASKEYNAME = "devpedwnspolicy"
|
||||
|
||||
|
||||
PORT= "3000"
|
||||
DEFAULT_DOMAIN = "localhost"
|
||||
I18N_DOMAIN = "cymru.local"
|
||||
//I18N_DOMAIN ="dev-gwaithcynllunio.gwasanaeth.llyw.cymru"
|
||||
//I18N_DOMAIN ="stage-gwaithcynllunio.gwasanaeth.llyw.cymru"
|
||||
//I18N_DOMAIN ="pp-gwaithcynllunio.gwasanaeth.llyw.cymru"
|
||||
//I18N_DOMAIN ="gwaithcynllunio.gwasanaeth.llyw.cymru"
|
||||
|
||||
|
||||
//RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/
|
||||
//RELAYURI = "test-pedw-ns.servicebus.windows.net"
|
||||
//RELAYPATH = "test-pedw-hc"
|
||||
|
||||
+3
-2
@@ -157,7 +157,8 @@ export const getBasicSearch = (token, searchString) => {
|
||||
return res.data;
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("thiserror", error);
|
||||
//console.log("thiserror", error);
|
||||
return error.response;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -170,7 +171,7 @@ export const getBasicDNSSearch = (token, searchString) => {
|
||||
)
|
||||
.then((res) => res.data)
|
||||
.catch((error) => {
|
||||
console.log("thiserror", error);
|
||||
return error.response;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
|
||||
@@ -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={() => {
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
"cy"
|
||||
],
|
||||
"defaultLocale": "en",
|
||||
"domains": [
|
||||
{
|
||||
"domain": "dev-gwaithcynllunio.gwasanaeth.llyw.cymru",
|
||||
"defaultLocale": "cy"
|
||||
}
|
||||
],
|
||||
"pages": {
|
||||
"*": [
|
||||
"common"
|
||||
|
||||
+23
-21
@@ -3,20 +3,6 @@ const withStyles = require("@webdeb/next-styles");
|
||||
//const { nextI18NextRewrites } = require("next-i18next/rewrites");
|
||||
const nextTranslate = require("next-translate");
|
||||
|
||||
//acp
|
||||
// module.exports = {
|
||||
// poweredByHeader: false,
|
||||
// env: {
|
||||
// API_ROOT: "http://pel-beta-backend",
|
||||
// GRANT_TYPE: "password",
|
||||
// USERNAME: "api",
|
||||
// PASSWORD: "tJRq4o2ZBQ",
|
||||
// CLIENT_ID: "2d3df41b-9b59-4bbd-85a7-9314125c1689",
|
||||
// CLIENT_SECRET: "85H8qdrEvKEzbW5",
|
||||
// },
|
||||
// ...nextTranslate(),
|
||||
// };
|
||||
|
||||
module.exports = withStyles({
|
||||
sass: true, // use .scss files
|
||||
modules: true, // style.(m|module).css & style.(m|module).scss for module files
|
||||
@@ -37,13 +23,29 @@ module.exports = {
|
||||
return "pinswg-build-id";
|
||||
},
|
||||
poweredByHeader: false,
|
||||
env: {
|
||||
// GRANT_TYPE : 'password',
|
||||
// USERNAME : 'api',
|
||||
// API_ROOT : "https://api.dev.prevent.internal.rehab",
|
||||
// PASSWORD : 'B69eQwv7rzPBNcA',
|
||||
// CLIENT_ID : 'fa1f0ef2-f10f-462e-98a5-843359db6066',
|
||||
// CLIENT_SECRET : 'B69eQwv7rzPBNcA',
|
||||
async rewrites() {
|
||||
return [
|
||||
{
|
||||
source: "/ceisiadaudns",
|
||||
destination: "/dnsapplications", // The :path parameter isn't used here so will be automatically passed in the query
|
||||
},
|
||||
{
|
||||
source: "/manyliondns",
|
||||
destination: "/dnsdetails", // The :path parameter isn't used here so will be automatically passed in the query
|
||||
},
|
||||
{
|
||||
source: "/canlyniadauchwilio",
|
||||
destination: "/searchresults", // The :path parameter isn't used here so will be automatically passed in the query
|
||||
},
|
||||
{
|
||||
source: "/achos",
|
||||
destination: "/case",
|
||||
},
|
||||
{
|
||||
source: "/cy:path*",
|
||||
destination: "http://cyrmu.local/:path*",
|
||||
},
|
||||
];
|
||||
},
|
||||
...nextTranslate(),
|
||||
};
|
||||
|
||||
+1
-1
@@ -26,9 +26,9 @@
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.29.1",
|
||||
"next": "^11.0.1",
|
||||
"next-i18next": "^8.5.1",
|
||||
"next-redux-wrapper": "^7.0.2",
|
||||
"next-translate": "^1.0.7",
|
||||
"path": "^0.12.7",
|
||||
"pm2": "^5.1.0",
|
||||
"react": "17.0.2",
|
||||
"react-accessible-accordion": "^3.3.5",
|
||||
|
||||
@@ -45,6 +45,7 @@ function Error({ statusCode }, props) {
|
||||
|
||||
Error.getInitialProps = ({ res, err }) => {
|
||||
const statusCode = res ? res.statusCode : err ? err.statusCode : 404;
|
||||
console.log(res, err);
|
||||
return { statusCode };
|
||||
};
|
||||
|
||||
|
||||
@@ -67,8 +67,15 @@ export const getServerSideProps = wrapper.getServerSideProps(
|
||||
|
||||
const token = await getSASToken();
|
||||
|
||||
const searchResultsObj = await getBasicDNSSearch(token);
|
||||
//console.log(searchResultsObj);
|
||||
let searchResultsObj = await getBasicDNSSearch(token);
|
||||
searchResultsObj =
|
||||
searchResultsObj.status == 502
|
||||
? {
|
||||
value: [],
|
||||
errorCode: searchResultsObj.status,
|
||||
errorMsg: searchResultsObj.statusText,
|
||||
}
|
||||
: searchResultsObj;
|
||||
|
||||
const searchDetailsObj = await getSearchDetails(
|
||||
token,
|
||||
|
||||
@@ -48,6 +48,12 @@ const Home = (props) => {
|
||||
searchDetailsObj={
|
||||
props.searchResultsObj.searchDetailsObj
|
||||
}
|
||||
documentDetailsObj={
|
||||
props.searchResultsObj.documentDetailsObj
|
||||
}
|
||||
documentHistoryObj={
|
||||
props.searchResultsObj.documentHistoryObj
|
||||
}
|
||||
myRepresentations={
|
||||
props.myRepresentations.myRepresentations
|
||||
}
|
||||
@@ -61,6 +67,7 @@ const Home = (props) => {
|
||||
currentType={
|
||||
props.currentView.caseReference.currentType
|
||||
}
|
||||
incidentid={props.currentView.caseReference.incidentid}
|
||||
/>
|
||||
</div>
|
||||
<Footer footerLinks={footerLinks} />
|
||||
|
||||
@@ -71,7 +71,15 @@ export const getServerSideProps = wrapper.getServerSideProps(
|
||||
|
||||
const token = await getSASToken();
|
||||
|
||||
const searchResultsObj = await getBasicSearch(token, query.q);
|
||||
let searchResultsObj = await getBasicSearch(token, query.q);
|
||||
|
||||
searchResultsObj =
|
||||
searchResultsObj.status == 502
|
||||
? {
|
||||
value: [],
|
||||
errorMsg: searchResultsObj.statusText,
|
||||
}
|
||||
: searchResultsObj;
|
||||
|
||||
//console.log("sssss", searchResultsObj);
|
||||
|
||||
|
||||
@@ -47,11 +47,6 @@ const reducer = (state = {}, action) => {
|
||||
switch (action.type) {
|
||||
case HYDRATE:
|
||||
return { ...state, ...action.payload };
|
||||
case REHYDRATE: {
|
||||
console.log("am rhydrating........");
|
||||
return { ...state, ...action.payload };
|
||||
}
|
||||
|
||||
case "SERVER_ACTION":
|
||||
return {
|
||||
...state,
|
||||
|
||||
Reference in New Issue
Block a user