import fs from "fs"; import jsonpath from "jsonpath"; import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { useEffect } from "react"; import { connect } from "react-redux"; import xpath from "xpath"; import { createCase, getAppealsTypes, getMandatoryFields, getPickLists, } from "../../actions"; import { getProviderConfig } from "../../actions/govgateway"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; import Header from "../../components/header"; import BuildCheckSection from "../../components/newappeal/buildchecksection"; import BuildSection from "../../components/newappeal/buildsection"; import CompleteAppeal from "../../components/newappeal/complete"; import TimeOut from "../../components/timeout"; import { setLoggedInUserId } from "../../store/accountDetails/action"; import { setAppealLPA, setAppealType, setAppealTypeID, setAppealTypeTitle, setCaseReference, } from "../../store/appealType/action"; import { setForm } from "../../store/formData/action"; import { getGovGatewayConfig } from "../../store/govgateway/action"; import { wrapper } from "../../store/store"; let Home = (props) => { const { footerLinks, pages, formData } = props; let { t, lang } = useTranslation(); const router = useRouter(); const { locale } = router; const { appealtypes } = router.query; useEffect(() => { //setFormTitle(formTitle); setCaseReference(router.query.refno); }, []); // eslint-disable-line react-hooks/exhaustive-deps const formXML = props.formData.formData; const parser = new DOMParser(); var doc = parser.parseFromString(formXML, "text/xml"); var titles = xpath.select( "//form/tabs/tab[*]/labels/label[@description]/@description", doc ); var sectionCount = xpath.select("/form/tabs/tab[*]", doc); sectionCount = sectionCount.length; var tabs = xpath.select("//form/tabs/tab[*]", doc); let optionsStr = props.appealType.appealTypeOptions.value; // let selectedObj = jsonpath.query(optionsStr, "$..value"); let selectedObj = jsonpath.query( optionsStr, "$..[?(@.attributevalue=='" + router.query.apt + "')]" ); //let optionsTitleObj = []; // const optionsTitleObj = selectedObj.reduce( // (obj, arrValue) => ( // (obj[arrValue] = arrValue // .replace(/(\band|[\s\-\+\(\)\,\&])/g, "") // .toLowerCase() // .slice(0, 39)), // obj // ), // {} // ); const formTitle = selectedObj[0].value; const { onSubmit } = props; return (