import _ from "lodash"; import Head from "next/head"; import Header from "../../components/header"; import Banner from "../../components/banner"; import CookieBanner from "../../components/cookieBanner"; import Breadcrumbs from "../../components/breadcrumbs"; import SearchResults from "../../components/searchresults"; import Footer from "../../components/footer"; import Errorpage from "../../components/errorpage"; import styles from "../../styles/Home.module.css"; import { useSelector, shallowEqual, connect } from "react-redux"; import { wrapper } from "../../store/store"; import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; import jsonpath from "jsonpath"; import data from "../../data/collections.json"; import { getSearchDetails, getFormCollectionByID, } from "../../components/utils"; import { setSearch, getSearchObj } from "../../store/search/action"; import { setSearchResults, setSearchDetails, setDocumentDetails, setDocumentHistory, getSearchResultsObj, } from "../../store/searchOutput/action"; import { setWatchedCases, setWatchedCasesDetails, } from "../../store/watchedCases/action"; import { getBasicSearch, getBasicSearchDetails, getSearchDocumentDetails, getSearchDocumentHistory, getWatchedCases, getPortalModuleDetails, getSASToken, } from "../../actions"; const Home = (props) => { const { footerLinks, pages, watchedCases } = props; let { t, lang } = useTranslation(); const router = useRouter(); const { locale } = router; const { appealtypes } = router.query; return (
{t("search:page-title")} - {t("common:service-name")}
); }; export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; console.log("query-", query); const { cookies } = req; const token = await getSASToken(); let loggedInUser = cookies.pinsUser; let [searchResultsObj, watchedCases] = await Promise.all([ await getBasicSearch(token, query.q), await getWatchedCases(token, loggedInUser), ]); searchResultsObj = searchResultsObj.status == 502 ? { value: [], errorCode: searchResultsObj.status, errorMsg: searchResultsObj.statusText, } : searchResultsObj; //console.log("sssss", searchResultsObj); const [searchDetailsObj, watchedCasesDetails] = await Promise.all([ await getSearchDetails(token, searchResultsObj), await getDetails(token, watchedCases, "myWatchedCases"), ]); store.dispatch(setSearchResults(searchResultsObj)); store.dispatch(setSearchDetails(searchDetailsObj)); store.dispatch(setSearch(query.q)); store.dispatch(setWatchedCases(watchedCases)); store.dispatch(setWatchedCasesDetails(watchedCasesDetails)); } ); const getDetails = (token, resultsObj, detailsType) => { //console.log(resultsObj); let detailsArr = []; resultsObj = resultsObj.value; const detailsObj = resultsObj.map((searchDetail, index) => { if (searchDetail.pinswg_appealcasetype == null) { console.log( detailsType != "myWatchedCases" ? searchDetail.ticketnumber : searchDetail[ "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" ] ); } else { detailsArr.push( getPortalModuleDetails( token, getFormCollectionByID(searchDetail.pinswg_appealcasetype) .LogicalCollectionName, detailsType != "myWatchedCases" ? searchDetail.ticketnumber : searchDetail[ "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" ] ) ); } }); //console.log(detailsArr); return Promise.all(detailsArr); }; const mapStateToProps = (state) => { 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, accountDetails: state.accountDetails, }; }; export default connect(mapStateToProps)(Home);