13927 sips summary page

This commit is contained in:
2025-02-18 14:21:20 +00:00
parent 1a102ab6cd
commit 7fad19452b
2 changed files with 930 additions and 5 deletions
@@ -0,0 +1,888 @@
import { useRouter } from "next/router";
import { JSONPath as jsonpath } from "jsonpath-plus";
import _ from "lodash";
import useTranslation from "next-translate/useTranslation";
import transLookup from "../../../data/lookuptranslations.json";
import GoogleMapComponent from "../../mapping";
import OSPoint from "ospoint";
const Pinswg_sipscase = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList, showMap } =
props;
const router = useRouter();
const { locale } = router;
let point = {};
let siteCoords = {};
let center = {};
point = new OSPoint(
detailsObj.pinswg_anticipatedgridreferencenorthingtext,
detailsObj.pinswg_anticipatedgridreferenceeastingtext
);
siteCoords = point.toOSGB36();
//console.log(siteCoords);
center = {
id: "",
lat: isNaN(parseFloat(siteCoords.latitude))
? 52.412272
: parseFloat(siteCoords.latitude),
lng: isNaN(parseFloat(siteCoords.longitude))
? -3.437989
: parseFloat(siteCoords.longitude),
};
const zoom = isNaN(parseFloat(siteCoords.latitude)) ? 7 : 12;
return (
<>
{detailsObj.pinswg_projectdescription != null ? (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div
className={
showMap == "true"
? "govuk-grid-column-one-half"
: "govuk-grid-column-full"
}
>
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-project-details-label")}
</h2>
<p className="govuk-body">
{detailsObj.pinswg_projectdescription != null
? detailsObj.pinswg_projectdescription.indexOf(
";"
) < 0
? detailsObj.pinswg_projectdescription
: router.locale == "cy"
? detailsObj.pinswg_projectdescription.split(
";"
)[1]
: detailsObj.pinswg_projectdescription.split(
";"
)[0]
: ""}
</p>
{/* <p className="govuk-body">
{detailsObj.pinswg_projectlocation != null
? detailsObj.pinswg_projectlocation.indexOf(
";"
) < 0
? detailsObj.pinswg_projectlocation
: router.locale == "cy"
? detailsObj.pinswg_projectlocation.split(
";"
)[1]
: detailsObj.pinswg_projectlocation.split(
";"
)[0]
: ""}
</p> */}
</div>
{showMap == "true" && (
<div className="govuk-grid-column-one-half">
<div
style={{
height: "40vh",
width: "100%",
}}
>
<GoogleMapComponent
center={center}
zoom={zoom}
/>
{/* <OSMapComponent center={center} zoom={zoom} /> */}
</div>
</div>
)}
</div>
</div>
) : (
""
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
{detailsObj.pinswg_webaddress != null && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-website-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy',
transLookup
)
: (
<a
target="_blank"
rel="noreferrer"
href={
detailsObj.pinswg_webaddress.indexOf(
"https://"
)
? "https://" +
detailsObj.pinswg_webaddress
: detailsObj.pinswg_webaddress
}
>
{
detailsObj.pinswg_webaddress
}
</a>
) ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_choiceofprocedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_choiceofprocedure@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-to-be-confirmed-label"
)}
</dd>
</div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-to-be-confirmed-label"
)}
</dd>
</div> */}
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-officer-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-type-of-event-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-information-to-date-label"
)
: t(
"case:summary-no-information-to-date-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-to-be-confirmed-label"
)
: t(
"case:summary-to-be-confirmed-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-information-to-date-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofdecision"
)
? !_.isEmpty(
detailsObj.pinswg_dateofdecision
)
? formatDates(
detailsObj.pinswg_dateofdecision
)
: t(
"case:summary-no-information-to-date-label"
)
: t(
"case:summary-no-information-to-date-label"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
)}
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-recommendation-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy',
transLookup,
)
: detailsObj.pinswg_recommendation}
</dd>
</div> */}
</dl>
</div>
</div>
</div>
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-valid-notice-of-intention-to-submit-an-application"
)}
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_validnoticeofintentiontosubmitanapplicati"
)
? !_.isEmpty(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
? formatDates(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-written-acceptance-of-notice"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_writtenacceptanceofnotification"
)
? !_.isEmpty(
detailsObj.pinswg_writtenacceptanceofnotification
)
? formatDates(
detailsObj.pinswg_writtenacceptanceofnotification
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-deadline-for-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_deadlineforsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_dateofsubmissionofapplication
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
{_.has(
detailsObj,
"pinswg_applicationacceptedasvalid"
) &&
!_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-accepted-as-valid"
)}
</dt>
<dd className="govuk-summary-list__value">
{!_.isEmpty(
detailsObj.pinswg_applicationacceptedasvalid
)
? formatDates(
detailsObj.pinswg_applicationacceptedasvalid
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
{_.has(
detailsObj,
"pinswg_applicationrejectedasinvalid"
) &&
!_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-rejected-as-invalid"
)}
</dt>
<dd className="govuk-summary-list__value">
{!_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid
)
? formatDates(
detailsObj.pinswg_applicationrejectedasinvalid
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-end-of-representation-period"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_endofrepresentationperiod"
)
? !_.isEmpty(
detailsObj.pinswg_endofrepresentationperiod
)
? formatDates(
detailsObj.pinswg_endofrepresentationperiod
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
{_.has(
detailsObj,
"pinswg_dateofrequesttovarytheapplication"
) &&
!_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-request-to-vary"
)}
</dt>
<dd className="govuk-summary-list__value">
{!_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
? formatDates(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
{_.has(
detailsObj,
"pinswg_confirmrequesttovaryapplication"
) &&
!_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication
) &&
(_.has(
detailsObj,
"pinswg_rejectrequesttovaryapplication"
) &&
_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication
) ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-confirm-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{!_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_confirmrequesttovaryapplication
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
) : (
""
))}
{_.has(
detailsObj,
"pinswg_rejectrequesttovaryapplication"
) &&
!_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication
) &&
(_.has(
detailsObj,
"pinswg_confirmrequesttovaryapplication"
) &&
_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication
) ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-reject-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{!_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_rejectrequesttovaryapplication
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
) : (
""
))}
{_.has(
detailsObj,
"pinswg_suspensionstartdates"
) &&
!_.isEmpty(
detailsObj.pinswg_suspensionstartdates
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-start-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{!_.isEmpty(
detailsObj.pinswg_suspensionstartdates
)
? formatDates(
detailsObj.pinswg_suspensionstartdates
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-end-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionenddates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionenddates
)
? formatDates(
detailsObj.pinswg_suspensionenddates
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-report-due-by")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_reportdueby"
)
? !_.isEmpty(
detailsObj.pinswg_reportdueby
)
? formatDates(
detailsObj.pinswg_reportdueby
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-suspension-dates")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensiondates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensiondates
)
? formatDates(
detailsObj.pinswg_suspensiondates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inspector-report-submission-to-welsh-government"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_inspectorreportsubmittedtowelshgovernment"
)
? !_.isEmpty(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
? formatDates(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
{_.has(
detailsObj,
"pinswg_withdrawndate"
) &&
!_.isEmpty(
detailsObj.pinswg_withdrawndate
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-withdrawn-date"
)}
</dt>
<dd className="govuk-summary-list__value">
{!_.isEmpty(
detailsObj.pinswg_withdrawndate
)
? formatDates(
detailsObj.pinswg_withdrawndate
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
</dl>
</div>
</div>
</div>
</div>
</div>
</>
);
};
export default Pinswg_sipscase;