From b5b55a796262d646f0a1dc66b0f9923bba5007e3 Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Mon, 21 Apr 2025 22:32:42 +0530 Subject: [PATCH] fixed correct projectId is used when navigating to DailyTask --- src/pages/Activities/DailyTask.jsx | 38 ++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/src/pages/Activities/DailyTask.jsx b/src/pages/Activities/DailyTask.jsx index 44ed2480..f4146ac6 100644 --- a/src/pages/Activities/DailyTask.jsx +++ b/src/pages/Activities/DailyTask.jsx @@ -19,15 +19,37 @@ const DailyTask = () => { const { profile: LoggedUser } = useProfile(); const [searchParams] = useSearchParams(); const projectId = searchParams.get("project"); - + const selectedProject = useSelector( + (store) => store.localVariables.projectId + ); const { projects, loading: project_lodaing, error: projects_Error, } = useProjects(); - const selectedProject = useSelector( - (store) => store.localVariables.projectId - ); + + + + const [initialized, setInitialized] = useState(false); + + // Sync projectId (either from URL or pick first accessible one) + useEffect(() => { + if (!project_lodaing && projects.length > 0) { + const userProjects = projects.filter((p) => + LoggedUser?.projects?.map(Number).includes(p.id) + ); + + if (projectId) { + dispatch(setProjectId(projectId)); + } else if (!selectedProject && userProjects.length > 0) { + dispatch(setProjectId(userProjects[0].id)); + } + + setInitialized(true); + } + }, [project_lodaing, projects, projectId, selectedProject]); + + const dispatch = useDispatch(selectedProject); const [dateRange, setDateRange] = useState({ startDate: "", endDate: "" }); @@ -60,9 +82,6 @@ const DailyTask = () => { openModal(); }; - useEffect(() => { - if (projectId) dispatch(setProjectId(projectId)); - }, [projectId]); return ( <>
{ )} + {(!initialized || !selectedProject) && ( + +

Loading..

+ + )} {TaskLists.map((task, index) => { const accordionId = `accordion-${index}`; -- 2.43.0