diff --git a/src/pages/employee/EmployeeList.jsx b/src/pages/employee/EmployeeList.jsx index 387d6232..eaa2f950 100644 --- a/src/pages/employee/EmployeeList.jsx +++ b/src/pages/employee/EmployeeList.jsx @@ -79,11 +79,11 @@ const EmployeeList = () => { } ); - useEffect(() => { - if (selectedProjectId === null) { - dispatch(setProjectId(projectNames[0]?.id)); - } - }, [selectedProjectId]); +useEffect(() => { + if (!selectedProjectId && projectNames?.length > 0) { + dispatch(setProjectId(projectNames[0].id)); + } +}, [selectedProjectId, projectNames, dispatch]); const navigate = useNavigate(); const applySearchFilter = (data, text) => { diff --git a/src/slices/apiDataManager.jsx b/src/slices/apiDataManager.jsx index 9c3fcc1e..ad4d38a1 100644 --- a/src/slices/apiDataManager.jsx +++ b/src/slices/apiDataManager.jsx @@ -39,10 +39,17 @@ export const useSelectedProject = () => { const selectedProject = useSelector( (store) => store.localVariables.projectId ); - var project = localStorage.getItem("project"); + + const project = localStorage.getItem("project"); + if (project) { - return project; - } else { - return selectedProject; + try { + const parsed = JSON.parse(project); + return parsed ?? selectedProject; + } catch (e) { + return selectedProject; + } } -}; + + return selectedProject; +} \ No newline at end of file diff --git a/src/slices/localVariablesSlice.jsx b/src/slices/localVariablesSlice.jsx index 7c996608..0b0a8405 100644 --- a/src/slices/localVariablesSlice.jsx +++ b/src/slices/localVariablesSlice.jsx @@ -23,7 +23,7 @@ const localVariablesSlice = createSlice({ setProjectId: (state, action) => { localStorage.setItem("project",null) state.projectId = action.payload; - localStorage.setItem("project",state.projectId) + localStorage.setItem("project",state.projectId || null) }, refreshData: ( state, action ) => {