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,
getFormData,
getMandatoryFields,
getPickLists,
} from "../../actions";
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 AdvertsForm from "../../data/forms/adverts";
import Callinss77Form from "../../data/forms/callinss77";
import CommonLandForm from "../../data/forms/commonland";
import CommunityInfrastructureLevys117118119Form from "../../data/forms/communityinfrastructurelevys117118119";
import CompulsoryPurchaseOrdersForm from "../../data/forms/compulsorypurchaseorders";
import DNSForm from "../../data/forms/dns";
import ElectricityActForm from "../../data/forms/electricityact";
import EnforcementListedBuildingConservationapForm from "../../data/forms/enforcementlistedbuildingconservationap";
import EnforcementNoticeAppeals174Form from "../../data/forms/enforcementnoticeappeals174";
import EnvironmentalPermittingForm from "../../data/forms/environmentalpermitting";
import HarbourRevisionOrderForm from "../../data/forms/harbourrevisionorder";
import HedgesHedgerowsTreePreservationReplacemForm from "../../data/forms/hedgeshedgerowstreepreservationreplacem";
import HouseholderAppealHasForm from "../../data/forms/householderappealhas";
import LawfulDevelopmentCertificateForm from "../../data/forms/lawfuldevelopmentcertificate";
import LdpForm from "../../data/forms/ldp";
import ListedBuildingAndConservationAreaConsenForm from "../../data/forms/listedbuildingandconservationareaconsen";
import MaintenanceOfLands217Form from "../../data/forms/maintenanceoflands217";
import MiscellaneousCaseworkForm from "../../data/forms/miscellaneouscasework";
import NonValidationForm from "../../data/forms/nonvalidation";
import PlanningAppeals78Form from "../../data/forms/planningappeals78";
import PlanningConditionss73s79Form from "../../data/forms/planningconditionss73s79";
import PlanningObligationAppeals106Form from "../../data/forms/planningobligationappeals106";
import RowForm from "../../data/forms/row";
import TransportAndWorkActForm from "../../data/forms/transportandworkact";
import WayleaveForm from "../../data/forms/wayleave";
import { setLoggedInUserId } from "../../store/accountDetails/action";
import {
setAppealLPA,
setAppealType,
setAppealTypeID,
setAppealTypeTitle,
setCaseReference,
} from "../../store/appealType/action";
import { setForm } from "../../store/formData/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 = 1; //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 getFormType = (appealType) => {
switch (appealType) {
case "adverts":
return