From e5ada29cdb5c2df03fd868e38dd2bb643b46d11e Mon Sep 17 00:00:00 2001 From: robbond Date: Thu, 28 May 2026 11:34:50 +0100 Subject: [PATCH] made getstatus serverside not client --- components/search/advancedsearch.js | 28 ++++++---------------------- pages/advancedsearch.js | 16 ++++++++++------ store/lpa/action.js | 12 ++++++++++-- store/lpa/reducer.js | 8 +++++++- 4 files changed, 33 insertions(+), 31 deletions(-) diff --git a/components/search/advancedsearch.js b/components/search/advancedsearch.js index be606029..ab561094 100644 --- a/components/search/advancedsearch.js +++ b/components/search/advancedsearch.js @@ -199,27 +199,6 @@ let AdvancedSearch = (props) => { const router = useRouter(); const { locale } = router; - const [caseStatusValues, setCaseStatusValues] = useState([]); - - useEffect(() => { - const fetchCaseStatus = async () => { - try { - const response = await getCaseStatus(); - - setCaseStatusValues( - Array.isArray(response?.data) - ? response.data - : response?.data?.value || response || [] - ); - } catch (error) { - console.error("Failed to fetch case statuses", error); - setCaseStatusValues([]); - } - }; - - fetchCaseStatus(); - }, []); - const { LPAData, onSubmit, @@ -246,6 +225,11 @@ let AdvancedSearch = (props) => { ? props.LPAData.LPAData.value : [{}]; + const caseStatusObject = + props?.LPAData?.caseStatusObj?.length > 0 + ? props.LPAData.caseStatusObj + : [{}]; + const RenderLPAList = ({ name, id, @@ -705,7 +689,7 @@ let AdvancedSearch = (props) => { name="statusCode" id="statusCode" component={RenderCaseStatusList} - optionsObj={caseStatusValues} + optionsObj={caseStatusObject} //validate={[required]} label={t( "search:case-status-label" diff --git a/pages/advancedsearch.js b/pages/advancedsearch.js index 0a65cac9..1e58e479 100644 --- a/pages/advancedsearch.js +++ b/pages/advancedsearch.js @@ -15,9 +15,10 @@ import Footer from "../components/footer"; import Header from "../components/header"; import Search from "../components/search"; import { setAppealType, setProjectType } from "../store/appealType/action"; -import { setLPA } from "../store/lpa/action"; +import { setLPA, setCaseStatus } from "../store/lpa/action"; import { wrapper } from "../store/store"; import ServiceBanner from "../components/servicebanner"; +import { getCaseStatus } from "../actions/services/caseDirectService"; const Home = (props) => { const { footerLinks, pages } = props; @@ -127,11 +128,13 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async ({ query, req, res }) => { - let [appealTypeData, projectTypeData, lpaData] = await Promise.all([ - await getAppealsTypes(), - await getProjectTypes(), - await getLPA() - ]); + let [appealTypeData, projectTypeData, lpaData, caseStatusObj] = + await Promise.all([ + await getAppealsTypes(), + await getProjectTypes(), + await getLPA(), + await getCaseStatus() + ]); //const lpaData = require("../data/lpa.json"); //const appealTypeData = require("../data/appealtypes.json"); @@ -139,6 +142,7 @@ export const getServerSideProps = wrapper.getServerSideProps( store.dispatch(setAppealType(appealTypeData)); store.dispatch(setProjectType(projectTypeData)); store.dispatch(setLPA(lpaData)); + store.dispatch(setCaseStatus(caseStatusObj)); } ); diff --git a/store/lpa/action.js b/store/lpa/action.js index 178c2c4b..68e00a1a 100644 --- a/store/lpa/action.js +++ b/store/lpa/action.js @@ -3,17 +3,25 @@ import { actionTypes } from "redux-form"; export const LPADataActionTypes = { GETLPADATA: "GETLPADATA", SETLPADATA: "SETLPADATA", + SETCASESTATUS: "SETCASESTATUS" }; export const getLPAObj = () => (dispatch) => { return dispatch({ - type: LPADataActionTypes.GETLPADATA, + type: LPADataActionTypes.GETLPADATA }); }; export const setLPA = (lpaData) => (dispatch) => { return dispatch({ type: LPADataActionTypes.SETLPADATA, - LPAData: lpaData, + LPAData: lpaData + }); +}; + +export const setCaseStatus = (caseStatusObj) => (dispatch) => { + return dispatch({ + type: LPADataActionTypes.SETCASESTATUS, + caseStatusObj: caseStatusObj }); }; diff --git a/store/lpa/reducer.js b/store/lpa/reducer.js index 2349f17c..e9e1b227 100644 --- a/store/lpa/reducer.js +++ b/store/lpa/reducer.js @@ -2,6 +2,7 @@ import { LPADataActionTypes } from "./action"; const LPADataInitialState = { LPAData: {}, + caseStatusObj: {} }; export default function reducer(state = LPADataInitialState, action) { @@ -9,7 +10,12 @@ export default function reducer(state = LPADataInitialState, action) { case LPADataActionTypes.SETLPADATA: return { ...state, - LPAData: action.LPAData, + LPAData: action.LPAData + }; + case LPADataActionTypes.SETCASESTATUS: + return { + ...state, + caseStatusObj: action.caseStatusObj }; default: return state;