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 ( <>
Loading..
+