added create contact flow for registration

This commit is contained in:
2021-10-13 07:40:36 +01:00
parent 7238a79895
commit b34c56145d
22 changed files with 663 additions and 307 deletions
+77 -14
View File
@@ -1,8 +1,10 @@
import _ from "lodash";
import Link from "next/link";
import React, { useState } from "react";
import React, { useEffect, useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import {
Field,
reduxForm,
@@ -18,6 +20,10 @@ import {
setAccountCreatedComplete,
} from "react-redux";
import { setAccCr, setLogout } from "../../store/accountDetails/action";
import { getEmailAccountCheck, createAccount } from "../../actions";
const RegisterComplete = (props) => {
const {
footerLinks,
@@ -26,13 +32,50 @@ const RegisterComplete = (props) => {
value,
setRegisterFormComplete,
setAccountCreatedComplete,
setAccCr,
} = props;
let { t, lang } = useTranslation();
const router = useRouter();
const { locale } = router;
return (
const [accountCreated, setAccountCreated] = useState(false);
useEffect(() => {
let accountBody = props.props.props.form.accountRegisterForm.values;
let emailAddress =
props.props.props.form.accountRegisterForm.values.emailaddress1;
Object.assign(accountBody, {
"pinswg_typeofinvolvement": 846040001,
});
accountBody = _.omit(accountBody, ["custom_password_check"]);
let checkEmailObj = {};
switch (props.accountDetails.accCr) {
case "created":
case "exists":
break;
default:
let emailExists = getEmailAccountCheck(
accountBody.emailaddress1
).then((data) => {
data["@odata.count"] > 0
? setAccCr("exists")
: (checkEmailObj = createAccount(accountBody).then(
(data) => {
//console.log(data);
setAccCr("created");
}
));
});
break;
}
});
return props.accountDetails.accCr == "created" ? (
<>
<p className="govuk-body">We have sent you a confirmation email.</p>
@@ -43,18 +86,35 @@ const RegisterComplete = (props) => {
metus non quam mollis egestas. Integer ac leo cursus, laoreet
nulla sed, tempus tellus. Mauris condimentum erat arcu.
</p>
<p className="govuk-body">
Sed imperdiet dignissim ipsum. Orci varius natoque penatibus et
magnis dis parturient montes, nascetur ridiculus mus. In id leo
in turpis aliquam venenatis ut non erat. Ut est arcu, luctus sit
amet pretium sed, iaculis non purus. Etiam dictum tortor commodo
luctus rhoncus.
</p>
<p className="govuk-body">
<Link href="/">
<a className="govuk-link">Login to My Portal</a>
</Link>
<a
href="/"
className="govuk-link"
onClick={() => {
setLogout(), window.localStorage.clear();
}}
>
Login to My Portal
</a>
</p>
</>
) : (
<>
<h2 className="govuk-heading-m">
Please try again with a different email address
</h2>
<p className="govuk-body">
<a
onClick={() => {
setRegisterFormComplete(false),
setAccountCreatedComplete(false),
setAccCr("false");
}}
className="govuk-link"
>
Try registering again
</a>
</p>
</>
);
@@ -73,8 +133,11 @@ const mapStateToProps = (state) => {
const mapDispatchToProps = (dispatch) => {
return {
setCurrentSection: (currentSection) => {
dispatch(setCurrentSection(currentSection));
setAccCr: (accountCreated) => {
dispatch(setAccCr(accountCreated));
},
setLogout: () => {
dispatch(setLogout());
},
};
};