diff --git a/src/components/Activities/InfraPlanning.jsx b/src/components/Activities/InfraPlanning.jsx index 3354d25d..236b209c 100644 --- a/src/components/Activities/InfraPlanning.jsx +++ b/src/components/Activities/InfraPlanning.jsx @@ -29,7 +29,7 @@ const InfraPlanning = () => useEffect( () => { dispatch(setProjectId(projects[0]?.id)) - }) + },[projects]) return (
@@ -49,7 +49,7 @@ const InfraPlanning = () => {!project_listLoader && projects?.filter(project => LoggedUser?.projects?.map(Number).includes(project.id)).map((project)=>( - + ))}
diff --git a/src/hooks/useProjects.js b/src/hooks/useProjects.js index f73fa154..3e6e1e7e 100644 --- a/src/hooks/useProjects.js +++ b/src/hooks/useProjects.js @@ -4,6 +4,7 @@ import { getCachedData, } from "../slices/apiDataManager" import ProjectRepository from "../repositories/ProjectRepository"; +import { useProfile } from "./useProfile"; @@ -84,7 +85,7 @@ export const useEmployeesByProjectAllocated = ( selectedProject ) => } export const useProjectDetails =(projectId)=>{ - + const {profile} = useProfile(); const [projects_Details, setProject_Details] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(""); @@ -113,11 +114,11 @@ export const useProjectDetails =(projectId)=>{ }; useEffect(()=>{ - if ( projectId ) + if ( profile && (projectId != undefined) ) { fetchData() } - },[projectId]) + },[projectId,profile]) return { projects_Details,loading,error,refetch:fetchData} diff --git a/src/pages/Activities/TaskPlannng.jsx b/src/pages/Activities/TaskPlannng.jsx index a6385633..f9e95f50 100644 --- a/src/pages/Activities/TaskPlannng.jsx +++ b/src/pages/Activities/TaskPlannng.jsx @@ -6,10 +6,19 @@ import ProjectRepository from "../../repositories/ProjectRepository"; import Breadcrumb from "../../components/common/Breadcrumb"; import InfraPlanning from "../../components/Activities/InfraPlanning"; import { cacheData, getCachedData } from "../../slices/apiDataManager"; +import { useProfile } from "../../hooks/useProfile"; +import { useDispatch, useSelector } from "react-redux"; +import { useProjectDetails, useProjects } from "../../hooks/useProjects"; +import { setProjectId } from "../../slices/localVariablesSlice"; var projectId; const TaskPlannng = () => { + const {profile} = useProfile(); + const {projects,loading:project_listLoader,error:projects_error} = useProjects(); + const dispatch = useDispatch(); + const selectedProject = useSelector((store)=>store.localVariables.projectId); + const [project, setProject] = useState(null); const [projectDetails, setProjectDetails] = useState(null); @@ -17,6 +26,10 @@ const TaskPlannng = () => { const [loading, setLoading] = useState(true); const [error, setError] = useState(""); + useEffect( () => + { + dispatch(setProjectId(projects[0]?.id)) + },[projects]) const fetchActivities = async () => { try { @@ -43,9 +56,9 @@ const TaskPlannng = () => { const fetchData = async () => { try { - const project_cache = getCachedData(`projectinfo-${1}`); + const project_cache = getCachedData(`projectinfo-${selectedProject}`); if (!project_cache) { - ProjectRepository.getProjectByprojectId(1) + ProjectRepository.getProjectByprojectId(selectedProject) .then((response) => { setProjectDetails(response); setProject(response); @@ -73,14 +86,16 @@ const TaskPlannng = () => { }; const handleDataChange = (data) => { + console.log("datachange") fetchData(); }; useEffect(() => { - projectId =1 - fetchData(); + if((projects.length != 0)){ + fetchData(); fetchActivities(); - }, []); + } + }, [selectedProject]); return (