diff --git a/components/breadcrumbs.js b/components/breadcrumbs.js index 7252cf66..68207f4f 100644 --- a/components/breadcrumbs.js +++ b/components/breadcrumbs.js @@ -167,7 +167,11 @@ const Breadcrumbs = (props) => {
  • - Case Reference: CAS-00010-J9W6L5 + Case Reference:{" "} + { + props.props.currentView.caseReference + .currentReference + }
  • ) : ( diff --git a/components/case.js b/components/case.js index b55d1f58..b2766fb2 100644 --- a/components/case.js +++ b/components/case.js @@ -5,7 +5,7 @@ import useTranslation from "next-translate/useTranslation"; import Summary from "./case/summary"; import Documents from "./case/documents"; -export default function CaseSummary({ children, pages }) { +const CaseSummary = (props) => { let { t } = useTranslation(); const router = useRouter(); @@ -19,10 +19,19 @@ export default function CaseSummary({ children, pages }) { >
    - +
    ); -} +}; + +export default CaseSummary; diff --git a/components/case/summary.js b/components/case/summary.js index 3d98b971..af12264d 100644 --- a/components/case/summary.js +++ b/components/case/summary.js @@ -1,18 +1,38 @@ import Link from "next/link"; import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; +import jsonpath from "jsonpath"; +import _ from "lodash"; -export default function CaseSummary() { +const CaseSummary = (props) => { let { t } = useTranslation(); const router = useRouter(); const { locale } = router; + const { + caseReference, + myCases, + myRepresentations, + watchedCases, + awaitingSubmission, + currentType, + } = props; + + let setCaseQueryObj = props[currentType]; + + var casesObj = jsonpath.query( + setCaseQueryObj, + '$..[?(@.reference=="' + caseReference + '")]' + ); + + casesObj = Object.assign({}, ...casesObj); + return (

    - Reference: CAS-00010-J9W6L5 + Reference: {casesObj.reference}

    @@ -21,7 +41,7 @@ export default function CaseSummary() { {t("case:summary-applicant-label")}
    - Mr J Pocknell + {casesObj.appellantApplicant}
    @@ -29,7 +49,7 @@ export default function CaseSummary() { {t("case:summary-agent-label")}
    - Mr Cos Polito + Mr A Agent
    @@ -37,11 +57,12 @@ export default function CaseSummary() { {t("case:summary-site-address-label")}
    - 72 Guild Street + {casesObj.address1}
    - London + {casesObj.town} +
    - SE23 6FH + {casesObj.postcode}
    @@ -55,11 +76,12 @@ export default function CaseSummary() { {t("case:summary-make-representation-label")} - - - {t("case:summary-back-button-label")} - - + router.back()} + className="govuk-button govuk-button--secondary" + > + {t("case:summary-back-button-label")} +
    @@ -78,7 +100,9 @@ export default function CaseSummary() { {t("case:summary-case-type-label")}
    - Planning Appeal (W){" "} + {casesObj[ + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" + ] || "N/A"}
    @@ -86,7 +110,7 @@ export default function CaseSummary() { {t("case:summary-lpa-label")}
    - Hastings Borough Council + {casesObj.lpaname}
    @@ -96,8 +120,7 @@ export default function CaseSummary() { )}
    - Erection of a two-storey chalet - style detached dwelling + {casesObj.caseDetails.caseSummary}
    @@ -108,7 +131,7 @@ export default function CaseSummary() {
    {" "} - Neale Oliver + {casesObj.caseDetails.caseOfficer}
    @@ -116,7 +139,7 @@ export default function CaseSummary() { {t("case:summary-procedure-label")}
    - Written representations + {casesObj.caseDetails.procedure}
    @@ -124,7 +147,11 @@ export default function CaseSummary() { {t("case:summary-status-label")}
    - In Progress + { + casesObj[ + "statuscode@OData.Community.Display.V1.FormattedValue" + ] + }
    @@ -132,10 +159,14 @@ export default function CaseSummary() { {t("case:summary-decision-label")}
    - Allowed + {casesObj.caseDetails.decision} +
    - 3272770 Appeal Decision.pdf + { + casesObj.caseDetails + .outcome_document + }
    @@ -147,7 +178,10 @@ export default function CaseSummary() { )}
    - Not Linked + { + casesObj.caseDetails + .caseLinkStatus + }
    @@ -157,7 +191,7 @@ export default function CaseSummary() { )}
    - 0 + {casesObj.caseDetails.linkedCases}
    @@ -176,7 +210,8 @@ export default function CaseSummary() { {t("case:summary-start-date-label")}
    - 26-May-21 + {casesObj.caseDates.start_date || + "N/A"}
    @@ -187,7 +222,8 @@ export default function CaseSummary() { )}
    - 02-Jun-21 + {casesObj.caseDates + .questionnaireDue || "N/A"}
    @@ -198,7 +234,8 @@ export default function CaseSummary() { )}
    - 30-Jun-21 + {casesObj.caseDates.statementsDue || + "N/A"}
    @@ -209,7 +246,9 @@ export default function CaseSummary() { )}
    - 30-Jun-21 + {casesObj.caseDates + .interestedPartyCommentsdue || + "N/A"}
    @@ -220,7 +259,9 @@ export default function CaseSummary() { )}
    - 14-Jul-21 + {casesObj.caseDates + .appellantLPAFinalCommentsdue || + "N/A"}
    @@ -231,7 +272,8 @@ export default function CaseSummary() { )}
    - N/A + {casesObj.caseDates + .inquiryEvidenceDue || "N/A"}
    @@ -240,7 +282,8 @@ export default function CaseSummary() { {t("case:summary-event-date-label")}
    - Date arranged + {casesObj.caseDates.eventDate || + "N/A"}
    @@ -251,7 +294,8 @@ export default function CaseSummary() { )}
    - Not yet decided + {casesObj.caseDates.decisionDate || + "N/A"}
    @@ -273,4 +317,6 @@ export default function CaseSummary() { */} ); -} +}; + +export default CaseSummary; diff --git a/components/footer.js b/components/footer.js index fbccab2a..a4ae1592 100644 --- a/components/footer.js +++ b/components/footer.js @@ -1,6 +1,7 @@ import Link from "next/link"; import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; +import { useState } from "react"; export default function Footer(props) { let { t } = useTranslation(); @@ -18,11 +19,80 @@ export default function Footer(props) { )); + const [showShareState, setShowShareState] = useState(false); + + let shareState = () => { + showShareState == true + ? setShowShareState(false) + : setShowShareState(true); + }; + return ( - + + ); } diff --git a/components/loading.js b/components/loading.js index cb82583e..1cba4191 100644 --- a/components/loading.js +++ b/components/loading.js @@ -11,7 +11,7 @@ export default function SkipLink(props) {
    -
    +
    { showTopThree={ props.awaitingSubmission.awaitingSubmission } + topThreeType={"awaitingSubmission"} />
    diff --git a/components/myportal/mycases.js b/components/myportal/mycases.js index 3bb6f969..5d0b55aa 100644 --- a/components/myportal/mycases.js +++ b/components/myportal/mycases.js @@ -18,7 +18,10 @@ const MyCases = (props) => { {t("myportal:mycases-card-title")}
    - +
    diff --git a/components/myportal/myrepresentations.js b/components/myportal/myrepresentations.js index 213cc402..3f1a1cf3 100644 --- a/components/myportal/myrepresentations.js +++ b/components/myportal/myrepresentations.js @@ -21,6 +21,7 @@ const MyRepresentations = (props) => {
    diff --git a/components/myportal/topthree.js b/components/myportal/topthree.js index a5dc42b2..8fcc98d9 100644 --- a/components/myportal/topthree.js +++ b/components/myportal/topthree.js @@ -1,35 +1,73 @@ import Link from "next/link"; import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; +import { setCurrentReference } from "../../store/currentView/action"; +import { connect } from "react-redux"; const TopThree = (props) => { let { t } = useTranslation(); - const { showTopThree } = props; + const { showTopThree, setCurrentReference, topThreeType } = props; const router = useRouter(); const { locale } = router; let topthreeRow = []; - for (var i = 0; i < 3; i++) - topthreeRow.push( -
    -
    -
    - Case reference:{" "} - - {props.showTopThree.value[i].reference} - -
    -
    - Address: {props.showTopThree.value[i].address} + for (var i = 0; i < 3; i++) { + (function (i) { + topthreeRow.push( +
    +
    + + {topThreeType != "awaitingSubmission" ? ( +
    + Address: + {showTopThree.value[i].address1} +
    + ) : ( + "" + )} + + {topThreeType == "awaitingSubmission" ? ( +
    + Make Representation on Case Incomplete, not + submitted +
    + ) : ( + "" + )}
    +
    -
    -
    - ); + ); + })(i); + } return <>{topthreeRow}; }; -export default TopThree; +const mapDispatchToProps = (dispatch) => { + return { + setCurrentReference: (currentReference) => { + dispatch(setCurrentReference(currentReference)); + }, + }; +}; + +export default connect(null, mapDispatchToProps)(TopThree); diff --git a/components/myportal/watchedcases.js b/components/myportal/watchedcases.js index 84978e3f..de0cee07 100644 --- a/components/myportal/watchedcases.js +++ b/components/myportal/watchedcases.js @@ -19,7 +19,10 @@ const WatchedCases = (props) => { {t("myportal:watchedcases-card-title")}
    - +
    diff --git a/components/searchresults.js b/components/searchresults.js index c42e37cb..69889cca 100644 --- a/components/searchresults.js +++ b/components/searchresults.js @@ -20,7 +20,10 @@ export default function Search(props) { >
    - +
    diff --git a/pages/404.js b/pages/404.js index 8ba64663..54c19adc 100644 --- a/pages/404.js +++ b/pages/404.js @@ -1,13 +1,42 @@ // 404.js import Link from "next/link"; +import Head from "next/head"; +import Header from "../components/header"; +import Banner from "../components/banner"; +import CookieBanner from "../components/cookieBanner"; +import useTranslation from "next-translate/useTranslation"; +import Footer from "../components/footer"; + +const FourOhFour = (props) => { + let { t, lang } = useTranslation(); + const { footerLinks, pages } = props; -export default function FourOhFour() { return ( - <> -

    404 - Page Not Found

    - - Go back home - - +
    + + + {t("case:page-title")} - {t("common:service-name")} + + +
    + +
    +
    +
    +
    +
    +

    404 - Page Not Found

    + + Go back home + +
    +
    +
    +
    +
    +
    +
    ); -} +}; + +export default FourOhFour; diff --git a/pages/api/lookups/awaitingSubmission.js b/pages/api/lookups/awaitingSubmission.js index 05f2b1d2..66f7d76f 100644 --- a/pages/api/lookups/awaitingSubmission.js +++ b/pages/api/lookups/awaitingSubmission.js @@ -11,6 +11,33 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00017-B8X7N0", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": "", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": "", + "caseOfficer": "", + "procedure": "", + "status": "", + "decision": "", + "outcome_document": "", + "caseLinkStatus": "", + "linkedCases": "", + }, + "caseDates": { + "start_date": "", + "questionnaireDue": "", + "statementsDue": "", + "interestedPartyCommentsdue": "", + "appellantLPAFinalCommentsdue": "", + "inquiryEvidenceDue": "", + "eventDate": "", + "decisionDate": "", + }, }, { "@odata.etag": 'W/"547952"', @@ -21,6 +48,34 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00016-Y9K9Q0", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": "", + "caseOfficer": "", + "procedure": "", + "status": "", + "decision": "", + "outcome_document": "", + "caseLinkStatus": "", + "linkedCases": "", + }, + "caseDates": { + "start_date": "", + "questionnaireDue": "", + "statementsDue": "", + "interestedPartyCommentsdue": "", + "appellantLPAFinalCommentsdue": "", + "inquiryEvidenceDue": "", + "eventDate": "", + "decisionDate": "", + }, }, { "@odata.etag": 'W/"547952"', @@ -31,6 +86,34 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00011-K1N0J8", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": "", + "caseOfficer": "", + "procedure": "", + "status": "", + "decision": "", + "outcome_document": "", + "caseLinkStatus": "", + "linkedCases": "", + }, + "caseDates": { + "start_date": "", + "questionnaireDue": "", + "statementsDue": "", + "interestedPartyCommentsdue": "", + "appellantLPAFinalCommentsdue": "", + "inquiryEvidenceDue": "", + "eventDate": "", + "decisionDate": "", + }, }, { "@odata.etag": 'W/"547952"', @@ -41,6 +124,34 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00015-L7J9H1", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": "", + "caseOfficer": "", + "procedure": "", + "status": "", + "decision": "", + "outcome_document": "", + "caseLinkStatus": "", + "linkedCases": "", + }, + "caseDates": { + "start_date": "", + "questionnaireDue": "", + "statementsDue": "", + "interestedPartyCommentsdue": "", + "appellantLPAFinalCommentsdue": "", + "inquiryEvidenceDue": "", + "eventDate": "", + "decisionDate": "", + }, }, ], }); diff --git a/pages/api/lookups/myCases.js b/pages/api/lookups/myCases.js index ba500274..a3e14710 100644 --- a/pages/api/lookups/myCases.js +++ b/pages/api/lookups/myCases.js @@ -3,7 +3,7 @@ const ApiResponse = (req, res) => { res.json({ "value": [ { - "@odata.etag": 'W/"547952"', + "@odata.etag": "W547952", "lpaname": "Vale of Glamorgan Council", "accountid": "56e7ef63-7e64-eb11-aaba-00224800be9c", "address1": "21 Courtenay Road", @@ -17,9 +17,32 @@ const ApiResponse = (req, res) => { "statuscode@OData.Community.Display.V1.FormattedValue": "In Progress", "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { - "@odata.etag": 'W/"547952"', + "@odata.etag": "W547952", "lpaname": "Bridgend CBC", "accountid": "56e7ef63-7e64-eb11-aaba-00224800be9c", "address1": "17 Colin Way", @@ -33,10 +56,33 @@ const ApiResponse = (req, res) => { "statuscode@OData.Community.Display.V1.FormattedValue": "In Progress", "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { - "@odata.etag": 'W/"547952"', - "lpaname": "Cardiff County Council Planning (A)", + "@odata.etag": "W547952", + "lpaname": "Cardiff County Council Planning (A)", "accountid": "56e7ef63-7e64-eb11-aaba-00224800be9c", "address1": "120 Severn Grove", "town": "Cardiff", @@ -49,10 +95,33 @@ const ApiResponse = (req, res) => { "statuscode@OData.Community.Display.V1.FormattedValue": "In Progress", "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { - "@odata.etag": 'W/"547952"', - "lpaname": "Cardiff County Council Planning", + "@odata.etag": "W547952", + "lpaname": "Cardiff County Council Planning", "accountid": "56e7ef63-7e64-eb11-aaba-00224800be9c", "address1": "25 Merches Gardens", "town": "Cardiff", @@ -65,6 +134,29 @@ const ApiResponse = (req, res) => { "statuscode@OData.Community.Display.V1.FormattedValue": "In Progress", "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, ], }); diff --git a/pages/api/lookups/myRepresentations.js b/pages/api/lookups/myRepresentations.js index 2aeecb07..3876449a 100644 --- a/pages/api/lookups/myRepresentations.js +++ b/pages/api/lookups/myRepresentations.js @@ -11,6 +11,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00009-W8N6W4", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { "@odata.etag": 'W/"547952"', @@ -21,6 +50,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00010-J9W6L5", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { "@odata.etag": 'W/"547952"', @@ -31,6 +89,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00011-K1N0J8", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { "@odata.etag": 'W/"547952"', @@ -41,6 +128,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00012-D9W6S8", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, ], }); diff --git a/pages/api/lookups/watchedCases.js b/pages/api/lookups/watchedCases.js index 2aeecb07..3876449a 100644 --- a/pages/api/lookups/watchedCases.js +++ b/pages/api/lookups/watchedCases.js @@ -11,6 +11,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00009-W8N6W4", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { "@odata.etag": 'W/"547952"', @@ -21,6 +50,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00010-J9W6L5", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { "@odata.etag": 'W/"547952"', @@ -31,6 +89,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00011-K1N0J8", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, { "@odata.etag": 'W/"547952"', @@ -41,6 +128,35 @@ const ApiResponse = (req, res) => { "postcode": "CF24 0JL", "reference": "CAS-00012-D9W6S8", "appellantApplicant": "Mrs Denise Williams", + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue": + "Planning Appeal - S78", + "pinswg_appealcasetype": "846040000", + "statuscode@OData.Community.Display.V1.FormattedValue": + "In Progress", + "statuscode": "1", + "caseDetails": { + "casetype": "", + "lpa": "", + "caseSummary": + "Erection of a two-storey chalet style detached dwelling", + "caseOfficer": "Neale Oliver", + "procedure": "Written representations", + "status": "In progress", + "decision": "Allowed", + "outcome_document": "23424Appeal Decision.pdf", + "caseLinkStatus": "not linked", + "linkedCases": "none", + }, + "caseDates": { + "start_date": "26-May-21", + "questionnaireDue": "02-Jun-21", + "statementsDue": "30-Jun-21", + "interestedPartyCommentsdue": "30-Jun-21", + "appellantLPAFinalCommentsdue": "4-Jul-21", + "inquiryEvidenceDue": "N/A", + "eventDate": "Date arranged", + "decisionDate": "Not yet decided", + }, }, ], }); diff --git a/pages/case.js b/pages/case.js index cc39a64e..332f8426 100644 --- a/pages/case.js +++ b/pages/case.js @@ -35,8 +35,23 @@ const Home = (props) => {
    - - + +
    @@ -44,38 +59,21 @@ const Home = (props) => { ); }; -// export const getServerSideProps = wrapper.getServerSideProps( -// async ({ locale, store, req, res }) => { -// const token = await getToken(); -// let accessToken = token.access_token; +const mapStateToProps = (state) => { + //console.log(state); -// const apiRoot = process.browser ? window.API_ROOT : process.env.API_ROOT; + return { + currentView: state.currentView, + search: state.search, + searchResultsObj: state.searchResultsObj, + formData: state.formData, + appealType: state.appealType, + form: state.form, + myCases: state.myCases, + watchedCases: state.watchedCases, + myRepresentations: state.myRepresentations, + awaitingSubmission: state.awaitingSubmission, + }; +}; -// const [pages, footerLinks, courseListContent] = await Promise.all([ -// await getPages(accessToken, locale), -// await getFooterLinks(accessToken, locale), -// await getCourseList(accessToken, locale), -// ]); -// //const courseID = await getCourseID -// store.dispatch(setApiRoot(apiRoot)); -// store.dispatch(setPages(pages)); -// store.dispatch(setFooterLinks(footerLinks)); -// store.dispatch(setCourseListContent(courseListContent)); -// } -// ); - -// const mapStateToProps = (state) => { -// //console.log(state); - -// return { -// apiroot: state.apiroot, -// courseListContent: state.courseListContent.courseListContent, -// pages: state.pages.pages, -// footerLinks: state.footerLinks.footerLinks, -// regions: state.regions, -// sectors: state.sectors, -// form: state.form, -// }; -// }; - -export default Home; //connect(mapStateToProps)(Home); +export default connect(mapStateToProps)(Home); diff --git a/pages/index.js b/pages/index.js index 0b5bac9e..ce994446 100644 --- a/pages/index.js +++ b/pages/index.js @@ -40,27 +40,4 @@ const Home = (props) => { ); }; -// export const getServerSideProps = wrapper.getServerSideProps( -// (store) => -// async ({ query, req, res }) => { -// const incidents = await getIncidents; -// console.log(incidents); -// } -// ); - - -// const mapStateToProps = (state) => { -// //console.log(state); - -// return { -// apiroot: state.apiroot, -// courseListContent: state.courseListContent.courseListContent, -// pages: state.pages.pages, -// footerLinks: state.footerLinks.footerLinks, -// regions: state.regions, -// sectors: state.sectors, -// form: state.form, -// }; -// }; - export default Home; //connect(mapStateToProps)(Home); diff --git a/pages/myportal/index.js b/pages/myportal/index.js index 5fcb0d75..55a80b80 100644 --- a/pages/myportal/index.js +++ b/pages/myportal/index.js @@ -93,6 +93,7 @@ const mapStateToProps = (state) => { //console.log(state); return { + currentView: state.currentView, search: state.search, searchResultsObj: state.searchResultsObj, formData: state.formData, diff --git a/pages/searchresults.js b/pages/searchresults.js index 744a0cf6..5cc583c9 100644 --- a/pages/searchresults.js +++ b/pages/searchresults.js @@ -63,39 +63,10 @@ export const getServerSideProps = wrapper.getServerSideProps( } ); -// export const getServerSideProps = wrapper.getServerSideProps( -// async ({ locale, store, query, req, res }) => { -// // const token = await getToken(); -// // let accessToken = token.access_token; - -// // const apiRoot = process.browser ? window.API_ROOT : process.env.API_ROOT; - -// // const [pages, footerLinks, courseListContent] = await Promise.all([ -// // await getPages(accessToken, locale), -// // await getFooterLinks(accessToken, locale), -// // await getCourseList(accessToken, locale), -// // ]); -// // //const courseID = await getCourseID -// // store.dispatch(setApiRoot(apiRoot)); -// // store.dispatch(setPages(pages)); -// // store.dispatch(setFooterLinks(footerLinks)); -// // store.dispatch(setCourseListContent(courseListContent)); -// console.log(query); -// //store.dispatch(setSearch(query.search)); -// } -// ); - const mapStateToProps = (state) => { return { search: state.search, searchResultsObj: state.searchResultsObj, - // // apiroot: state.apiroot, - // // courseListContent: state.courseListContent.courseListContent, - // // pages: state.pages.pages, - // // footerLinks: state.footerLinks.footerLinks, - // // regions: state.regions, - // // sectors: state.sectors, - // // form: state.form, }; }; diff --git a/pages/viewall.js b/pages/viewall.js index ffdeba8a..751c2cd2 100644 --- a/pages/viewall.js +++ b/pages/viewall.js @@ -63,28 +63,6 @@ export const getServerSideProps = wrapper.getServerSideProps( } ); -// export const getServerSideProps = wrapper.getServerSideProps( -// async ({ locale, store, query, req, res }) => { -// // const token = await getToken(); -// // let accessToken = token.access_token; - -// // const apiRoot = process.browser ? window.API_ROOT : process.env.API_ROOT; - -// // const [pages, footerLinks, courseListContent] = await Promise.all([ -// // await getPages(accessToken, locale), -// // await getFooterLinks(accessToken, locale), -// // await getCourseList(accessToken, locale), -// // ]); -// // //const courseID = await getCourseID -// // store.dispatch(setApiRoot(apiRoot)); -// // store.dispatch(setPages(pages)); -// // store.dispatch(setFooterLinks(footerLinks)); -// // store.dispatch(setCourseListContent(courseListContent)); -// console.log(query); -// //store.dispatch(setSearch(query.search)); -// } -// ); - const mapStateToProps = (state) => { return { search: state.search, diff --git a/store/currentView/action.js b/store/currentView/action.js index 26b20a0e..2440f7e4 100644 --- a/store/currentView/action.js +++ b/store/currentView/action.js @@ -1,6 +1,7 @@ export const currentViewActionTypes = { GETCURRENTVIEW: "GETCURRENTVIEW", SETCURRENTVIEW: "SETCURRENTVIEW", + SETCURRENTREFERENCE: "SETCURRENTREFERENCE", }; export const getCurrentViewObj = () => (dispatch) => { @@ -15,3 +16,10 @@ export const setCurrentView = (currentView) => (dispatch) => { currentView: currentView, }); }; + +export const setCurrentReference = (caseReference) => (dispatch) => { + return dispatch({ + type: currentViewActionTypes.SETCURRENTREFERENCE, + caseReference: caseReference, + }); +}; diff --git a/store/currentView/reducer.js b/store/currentView/reducer.js index 4d9fc02f..f0ccb0fb 100644 --- a/store/currentView/reducer.js +++ b/store/currentView/reducer.js @@ -2,6 +2,7 @@ import { currentViewActionTypes } from "./action"; const currentViewInitialState = { currentView: {}, + caseReference: {}, }; export default function reducer(state = currentViewInitialState, action) { @@ -11,6 +12,11 @@ export default function reducer(state = currentViewInitialState, action) { ...state, currentView: action.currentView, }; + case currentViewActionTypes.SETCURRENTREFERENCE: + return { + ...state, + caseReference: action.caseReference, + }; default: return state; } diff --git a/styles/sass/welshgov/_application.scss b/styles/sass/welshgov/_application.scss index dd75933c..896d6074 100644 --- a/styles/sass/welshgov/_application.scss +++ b/styles/sass/welshgov/_application.scss @@ -6,10 +6,11 @@ html { .govuk-body, .govuk-body-s, .govuk-body-m, +.govuk-footer, .govuk-heading-xl, .govuk-heading-l, .govuk-heading-m, -s .govuk-header-l, +.govuk-header-l, .govuk-header-m, .govuk-header__link, .govuk-button, @@ -30,6 +31,14 @@ a { background-color: #323232; } +.govuk-breadcrumbs__link:link, +.govuk-breadcrumbs__link:visited { + color: #0360a6; + font-weight: bold; + text-decoration: none; + font-size: 16px; +} + .govuk-grid-row { @media screen and (max-width: 900px) { // margin-right: 0px; @@ -69,6 +78,14 @@ a { margin-right: auto; padding-left: 60px; padding-right: 20px; + + @media screen and (max-width: 1024px) { + padding-left: 20px; + } + @media screen and (max-width: 376px) { + padding-left: 0px; + padding-right: 0px; + } } .btn--arrow-up a { @@ -243,6 +260,8 @@ a { .govuk-footer { padding-top: 0px; + padding: 70px 0 0 0; + border: none; } #footer_logo { @@ -377,3 +396,261 @@ a { font-size: 1.1875rem; line-height: 1.3157894737; } + +//sharebar + +.btn--arrow-up a { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg id=%22Layer_1%22 data-name=%22Layer 1%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%22159.5%22 height=%22102.4%22 viewBox=%220 0 159.5 102.4%22%3E%3Ctitle%3Eblack-arrow-up%3C/title%3E%3Cpath d=%22M159.5,79.8,79.8,0,0,79.8l22.6,22.6L79.7,45.3l57.1,57.1Z%22/%3E%3C/svg%3E"); + background-size: 18px 13px; + background-position: 10px center; + background-repeat: no-repeat; + padding-left: 36px; + margin-top: 1px; +} + +.btn--arrow-hero a:hover { + color: #fff !important; +} + +ul#sharePageLinks { + display: none; +} + +ul#sharePageLinks.active { + display: block; + border: none; +} + +.block-share button, +.block-share h2 { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: none; + padding: 12px 12px 12px 36px; + margin: 0; + color: #323232; + font-size: 16px; + font-size: 1rem; + line-height: 17px; + line-height: 1.0625rem; + letter-spacing: -0.0208333333rem; + font-weight: bold; + float: left; + z-index: 2; + position: relative; + background-color: inherit; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg id=%22Layer_1%22 data-name=%22Layer 1%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2217.9%22 height=%2220%22 viewBox=%220 0 17.9 20%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Eshare%3C/title%3E%3Cpath class=%22cls-1%22 d=%22M15.4,14.1a3,3,0,0,0-2,.8L6.2,10.7a1.7,1.7,0,0,0,.1-.7,1.7,1.7,0,0,0-.1-.7l7.1-4.1a3,3,0,0,0,5-2.2,3,3,0,0,0-6,0,1.7,1.7,0,0,0,.1.7l-7,4.1a2.79,2.79,0,0,0-2-.8,3,3,0,1,0,0,6,2.79,2.79,0,0,0,2-.8l7.1,4.2c0,.2-.1.4-.1.7a2.9,2.9,0,0,0,5.8,0,2.84,2.84,0,0,0-2.68-3Z%22 transform=%22translate%28-0.4 0%29%22/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: 10px 10px; + background-size: 20px 20px; +} + +.vo_hidden, +.page-node-type-global-keyword-search + .main__body-content + #block-govwales-content + .components__form + form + .form-item + label, +.header__components .components__form form .form-item label { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + width: 1px; + position: absolute; +} + +.block-share { + position: relative; + float: left; + margin-right: 20px; + border: 1px solid #999999; +} + +@media screen and (min-width: 480px) { + .main__sharebar > div { + margin-bottom: 0; + } +} +.block-share.active { + border: 1px solid #999999; + background-color: #cccccc; + @media screen and (max-width: 376px) { + margin-right: 0px; + margin-bottom: 20px; + } +} + +.block-share ul { + margin: 0; + padding: 0; + float: left; + z-index: 1; + position: relative; +} + +.block-share ul li { + display: inline-block; + margin: 10px 15px; + padding: 0; +} + +.block-share ul li a { + font-size: 16px; + font-size: 1rem; + line-height: 20px; + line-height: 1.25rem; + display: block; + padding-top: 2px; + padding-left: 25px; + height: 24px; + color: #0360a6; +} + +.block-share ul li a { + font-size: 16px; + font-size: 1rem; + line-height: 20px; + line-height: 1.25rem; + display: block; + padding-top: 2px; + padding-left: 25px; + height: 24px; + background-color: inherit; + color: #0360a6; + font-weight: bold; + text-decoration: none; +} + +@media (min-width: 480px) { + .block-share ul li a { + background-size: 20px 20px; + background-position: 0 2px; + } +} +.block-share ul li a, +.block-share-top ul li a, +.page-header__block-share__list ul li a, +.page-header__block-share ul li a { + background-size: 20px 20px; + background-position: 0 6px; + height: 22px; + display: block; + @media (max-width: 376px) { + background-position: 0 2px; + } +} + +.block-share ul li a:hover, +.block-share-top ul li a:hover, +.page-header__block-share__list ul li a:hover, +.page-header__block-share ul li a:hover { + background-size: 20px 20px; + background-position: 0 6px; + @media (max-width: 376px) { + background-position: 0 2px; + } +} + +@media all and (min-width: 480px) { + .block-share ul li a, + .block-share-top ul li a, + .page-header__block-share__list ul li a, + .page-header__block-share ul li a { + background-size: 20px 20px; + background-position: 0 2px; + } + + .block-share ul li a:hover, + .block-share-top ul li a:hover, + .page-header__block-share__list ul li a:hover, + .page-header__block-share ul li a:hover { + background-size: 20px 20px; + background-position: 0px 2px; + } +} + +.block-share ul li a:focus, +.block-share-top ul li a:focus, +.page-header__block-share__list ul li a:focus, +.page-header__block-share ul li a:focus { + -webkit-box-shadow: 0 0 #ffd530, 0 2px #1f1f1f; + box-shadow: 0 0 #ffd530, 0 2px #1f1f1f; +} + +.block-share ul li a.twitter, +.block-share-top ul li a.twitter, +.page-header__block-share__list ul li a.twitter, +.page-header__block-share ul li a.twitter { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3EAsset 1%3C/title%3E%3Cpath d=%22M0,0V20H20V0ZM16,6.9v.4a8.79,8.79,0,0,1-8.7,8.8,9,9,0,0,1-4.8-1.4h.7A6.46,6.46,0,0,0,7,13.4a3.13,3.13,0,0,1-2.9-2.1c.2,0,.4.1.6.1a2.2,2.2,0,0,0,.8-.1A3.1,3.1,0,0,1,3,8.3H3a4,4,0,0,0,1.5.3,3.05,3.05,0,0,1-1-4.1A8.86,8.86,0,0,0,9.9,7.7,3,3,0,0,1,12.2,4a3.06,3.06,0,0,1,2.9.9,5,5,0,0,0,2-.8,2.91,2.91,0,0,1-1.4,1.7,6.07,6.07,0,0,0,1.8-.5A4.63,4.63,0,0,1,16,6.9Z%22 style=%22fill:%230360a6%22/%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.block-share ul li a.twitter:hover, +.block-share-top ul li a.twitter:hover, +.page-header__block-share__list ul li a.twitter:hover, +.page-header__block-share ul li a.twitter:hover { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3EAsset 1%3C/title%3E%3Cpath d=%22M0,0V20H20V0ZM16,6.9v.4a8.79,8.79,0,0,1-8.7,8.8,9,9,0,0,1-4.8-1.4h.7A6.46,6.46,0,0,0,7,13.4a3.13,3.13,0,0,1-2.9-2.1c.2,0,.4.1.6.1a2.2,2.2,0,0,0,.8-.1A3.1,3.1,0,0,1,3,8.3H3a4,4,0,0,0,1.5.3,3.05,3.05,0,0,1-1-4.1A8.86,8.86,0,0,0,9.9,7.7,3,3,0,0,1,12.2,4a3.06,3.06,0,0,1,2.9.9,5,5,0,0,0,2-.8,2.91,2.91,0,0,1-1.4,1.7,6.07,6.07,0,0,0,1.8-.5A4.63,4.63,0,0,1,16,6.9Z%22 style=%22fill:%233b7dc5%22/%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.block-share ul li a.twitter:focus, +.block-share-top ul li a.twitter:focus, +.page-header__block-share__list ul li a.twitter:focus, +.page-header__block-share ul li a.twitter:focus { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3EAsset 1%3C/title%3E%3Cpath d=%22M0,0V20H20V0ZM16,6.9v.4a8.79,8.79,0,0,1-8.7,8.8,9,9,0,0,1-4.8-1.4h.7A6.46,6.46,0,0,0,7,13.4a3.13,3.13,0,0,1-2.9-2.1c.2,0,.4.1.6.1a2.2,2.2,0,0,0,.8-.1A3.1,3.1,0,0,1,3,8.3H3a4,4,0,0,0,1.5.3,3.05,3.05,0,0,1-1-4.1A8.86,8.86,0,0,0,9.9,7.7,3,3,0,0,1,12.2,4a3.06,3.06,0,0,1,2.9.9,5,5,0,0,0,2-.8,2.91,2.91,0,0,1-1.4,1.7,6.07,6.07,0,0,0,1.8-.5A4.63,4.63,0,0,1,16,6.9Z%22 style=%22fill:%23111%22/%3E%3C/svg%3E "); + background-repeat: no-repeat; +} + +.block-share ul li a.facebook, +.block-share-top ul li a.facebook, +.page-header__block-share__list ul li a.facebook, +.page-header__block-share ul li a.facebook { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Efacebook%3C/title%3E%3Cpath d=%22M0,0V20H20V0ZM15.6,5.1a.27.27,0,0,1-.3.3H14c-.9,0-1.1.3-1.1,1V7.9h2.3a.27.27,0,0,1,.3.3h0v2.5a.27.27,0,0,1-.3.3H12.9v6.2a.27.27,0,0,1-.3.3H10a.27.27,0,0,1-.3-.3V11h-2a.27.27,0,0,1-.3-.3h0V8.2a.27.27,0,0,1,.3-.3h2V6.2a3.45,3.45,0,0,1,3.1-3.7h2.4a.27.27,0,0,1,.3.3h0Z%22 style=%22fill:%230360a6%22/%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.block-share ul li a.facebook:hover, +.block-share-top ul li a.facebook:hover, +.page-header__block-share__list ul li a.facebook:hover, +.page-header__block-share ul li a.facebook:hover { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Efacebook_on%3C/title%3E%3Cpath d=%22M0,0V20H20V0ZM15.6,5.1a.27.27,0,0,1-.3.3H14c-.9,0-1.1.3-1.1,1V7.9h2.3a.27.27,0,0,1,.3.3h0v2.5a.27.27,0,0,1-.3.3H12.9v6.2a.27.27,0,0,1-.3.3H10a.27.27,0,0,1-.3-.3V11h-2a.27.27,0,0,1-.3-.3h0V8.2a.27.27,0,0,1,.3-.3h2V6.2a3.45,3.45,0,0,1,3.1-3.7h2.4a.27.27,0,0,1,.3.3h0Z%22 style=%22fill:%233b7dc5%22/%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.block-share ul li a.facebook:focus, +.block-share-top ul li a.facebook:focus, +.page-header__block-share__list ul li a.facebook:focus, +.page-header__block-share ul li a.facebook:focus { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Efacebook%3C/title%3E%3Cpath d=%22M0,0V20H20V0ZM15.6,5.1a.27.27,0,0,1-.3.3H14c-.9,0-1.1.3-1.1,1V7.9h2.3a.27.27,0,0,1,.3.3h0v2.5a.27.27,0,0,1-.3.3H12.9v6.2a.27.27,0,0,1-.3.3H10a.27.27,0,0,1-.3-.3V11h-2a.27.27,0,0,1-.3-.3h0V8.2a.27.27,0,0,1,.3-.3h2V6.2a3.45,3.45,0,0,1,3.1-3.7h2.4a.27.27,0,0,1,.3.3h0Z%22 style=%22fill:%23111%22/%3E%3C/svg%3E "); + background-repeat: no-repeat; +} + +.block-share ul li a.email, +.block-share-top ul li a.email, +.page-header__block-share__list ul li a.email, +.page-header__block-share ul li a.email { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Eat%3C/title%3E%3Cpath d=%22M9.6,8.2a1.61,1.61,0,0,0-1.3.6,2.11,2.11,0,0,0-.5,1.3,1.75,1.75,0,0,0,.4,1.2,1.46,1.46,0,0,0,1.3.7,1.38,1.38,0,0,0,1.1-.6,2.39,2.39,0,0,0,.5-1.4,2,2,0,0,0-.6-1.5A2.39,2.39,0,0,0,9.6,8.2Z%22 style=%22fill:%230360a6%22/%3E%3Cpath d=%22M0,0V20H20V0ZM15.4,12.5l-.4.7H11.5l-.2-.6a2.73,2.73,0,0,1-1.9.8h0a2.66,2.66,0,0,1-2.2-1.1A3.46,3.46,0,0,1,7.2,8,2.87,2.87,0,0,1,9.4,7a3.55,3.55,0,0,1,1,.2c.2.1.5.2.6.4V6.8h1.5v5.3h1.6a5.75,5.75,0,0,0,.5-2.6,4,4,0,0,0-1.3-3A4.44,4.44,0,0,0,9.9,5.2,4.76,4.76,0,0,0,6.5,6.6,5.55,5.55,0,0,0,5.3,9.9a4.84,4.84,0,0,0,1.3,3.4A4.48,4.48,0,0,0,10,14.8h.2V16H10a5.62,5.62,0,0,1-4.4-1.9A6.26,6.26,0,0,1,4,9.9,5.91,5.91,0,0,1,9.9,4H10a6.56,6.56,0,0,1,4.4,1.7A5.46,5.46,0,0,1,16,9.5,8,8,0,0,1,15.4,12.5Z%22 style=%22fill:%230360a6%22/%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.block-share ul li a.email:hover, +.block-share-top ul li a.email:hover, +.page-header__block-share__list ul li a.email:hover, +.page-header__block-share ul li a.email:hover { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Eat_on%3C/title%3E%3Cpath d=%22M9.6,8.2a1.61,1.61,0,0,0-1.3.6,2.11,2.11,0,0,0-.5,1.3,1.75,1.75,0,0,0,.4,1.2,1.46,1.46,0,0,0,1.3.7,1.38,1.38,0,0,0,1.1-.6,2.39,2.39,0,0,0,.5-1.4,2,2,0,0,0-.6-1.5A2.39,2.39,0,0,0,9.6,8.2Z%22 style=%22fill:%233b7dc5%22/%3E%3Cpath d=%22M0,0V20H20V0ZM15.4,12.5l-.4.7H11.5l-.2-.6a2.73,2.73,0,0,1-1.9.8h0a2.66,2.66,0,0,1-2.2-1.1A3.46,3.46,0,0,1,7.2,8,2.87,2.87,0,0,1,9.4,7a3.55,3.55,0,0,1,1,.2c.2.1.5.2.6.4V6.8h1.5v5.3h1.6a5.75,5.75,0,0,0,.5-2.6,4,4,0,0,0-1.3-3A4.44,4.44,0,0,0,9.9,5.2,4.76,4.76,0,0,0,6.5,6.6,5.55,5.55,0,0,0,5.3,9.9a4.84,4.84,0,0,0,1.3,3.4A4.48,4.48,0,0,0,10,14.8h.2V16H10a5.62,5.62,0,0,1-4.4-1.9A6.26,6.26,0,0,1,4,9.9,5.91,5.91,0,0,1,9.9,4H10a6.56,6.56,0,0,1,4.4,1.7A5.46,5.46,0,0,1,16,9.5,8,8,0,0,1,15.4,12.5Z%22 style=%22fill:%233b7dc5%22/%3E%3C/svg%3E"); + background-repeat: no-repeat; +} + +.block-share ul li a.email:focus, +.block-share-top ul li a.email:focus, +.page-header__block-share__list ul li a.email:focus, +.page-header__block-share ul li a.email:focus { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Eat%3C/title%3E%3Cpath d=%22M9.6,8.2a1.61,1.61,0,0,0-1.3.6,2.11,2.11,0,0,0-.5,1.3,1.75,1.75,0,0,0,.4,1.2,1.46,1.46,0,0,0,1.3.7,1.38,1.38,0,0,0,1.1-.6,2.39,2.39,0,0,0,.5-1.4,2,2,0,0,0-.6-1.5A2.39,2.39,0,0,0,9.6,8.2Z%22 style=%22fill:%23111%22/%3E%3Cpath d=%22M0,0V20H20V0ZM15.4,12.5l-.4.7H11.5l-.2-.6a2.73,2.73,0,0,1-1.9.8h0a2.66,2.66,0,0,1-2.2-1.1A3.46,3.46,0,0,1,7.2,8,2.87,2.87,0,0,1,9.4,7a3.55,3.55,0,0,1,1,.2c.2.1.5.2.6.4V6.8h1.5v5.3h1.6a5.75,5.75,0,0,0,.5-2.6,4,4,0,0,0-1.3-3A4.44,4.44,0,0,0,9.9,5.2,4.76,4.76,0,0,0,6.5,6.6,5.55,5.55,0,0,0,5.3,9.9a4.84,4.84,0,0,0,1.3,3.4A4.48,4.48,0,0,0,10,14.8h.2V16H10a5.62,5.62,0,0,1-4.4-1.9A6.26,6.26,0,0,1,4,9.9,5.91,5.91,0,0,1,9.9,4H10a6.56,6.56,0,0,1,4.4,1.7A5.46,5.46,0,0,1,16,9.5,8,8,0,0,1,15.4,12.5Z%22 style=%22fill:%23111%22/%3E%3C/svg%3E "); + background-repeat: no-repeat; +}