import _ from "lodash"; import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; import { getAppealsTypes, getLPA, getPersonalAccount, getIP, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; import CRMError from "../../components/crmError"; import Footer from "../../components/footer"; import Header from "../../components/header"; import Search from "../../components/search"; import TimeOut from "../../components/timeout"; import { setAppealType } from "../../store/appealType/action"; import { setLPA } from "../../store/lpa/action"; import { wrapper } from "../../store/store"; import { getSession, useSession } from "next-auth/react"; import { setAccountDetails, setContainerID, setLoggedInUserId, } from "../../store/accountDetails/action"; const Home = (props) => { const { footerLinks, pages } = props; let { t, lang } = useTranslation(); const router = useRouter(); const { locale } = router; const { appealtypes } = router.query; var hasError = _.has(props.LPAData.LPAData, "errorCode") || _.has(props.appealType.appealType, "errorCode") ? true : false; return (
{t("search:page-title")} - {t("common:service-name")}
{hasError ? ( ) : ( )}
); }; export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; getIP(req); console.log("query-", query); const { cookies } = req; let loggedInUser = cookies.pinsUser; const showLoginCheck = process.env.SHOWLOGIN || false; let thisSession = await getSession(ctx); if (!thisSession) { console.log("not has sesssion......."); return { redirect: { destination: "/auth/signin", permanent: false, }, }; } else { const [accountDetails, appealTypeData, lpaData] = await Promise.all( [ await getPersonalAccount(loggedInUser), await getAppealsTypes(), await getLPA(), ] ); //const lpaData = require("../../data/lpa.json"); //const appealTypeData = require("../../data/appealtypes.json"); store.dispatch(setAccountDetails(accountDetails)); store.dispatch(setAppealType(appealTypeData)); store.dispatch(setLPA(lpaData)); store.dispatch(setLoggedInUserId(loggedInUser)); thisSession != false && store.dispatch(setContainerID(thisSession.user.id)); } return { props: { showLoginCheck: showLoginCheck, }, }; } ); const mapStateToProps = (state) => { return { accountDetails: state.accountDetails, search: state.search, searchResultsObj: state.searchResultsObj, formData: state.formData, appealType: state.appealType, LPAData: state.LPAData, //form: state.form, accountDetails: state.accountDetails, }; }; export default connect(mapStateToProps)(Home);