From a92a041333e00a7df7c79c7cd21cd2578468e245 Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Thu, 24 Apr 2025 11:54:00 +0530 Subject: [PATCH] Prevent multiple API calls and display correct data for selected project --- src/pages/Activities/DailyTask.jsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/pages/Activities/DailyTask.jsx b/src/pages/Activities/DailyTask.jsx index f4146ac6..d38211f3 100644 --- a/src/pages/Activities/DailyTask.jsx +++ b/src/pages/Activities/DailyTask.jsx @@ -34,20 +34,21 @@ const DailyTask = () => { // Sync projectId (either from URL or pick first accessible one) useEffect(() => { - if (!project_lodaing && projects.length > 0) { + if (!project_lodaing && projects.length > 0 && !initialized) { 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); + + setInitialized(true); // <-- This blocks re-running this effect again } - }, [project_lodaing, projects, projectId, selectedProject]); + }, [project_lodaing, projects, projectId, selectedProject, initialized]); + const dispatch = useDispatch(selectedProject); @@ -58,13 +59,15 @@ const DailyTask = () => { loading: task_loading, error: task_error, refetch, - } = useTaskList(selectedProject, dateRange.startDate, dateRange.endDate); + } = useTaskList( initialized ? selectedProject : null, + initialized ? dateRange.startDate : null, + initialized ? dateRange.endDate : null); const [TaskLists, setTaskLists] = useState([]); useEffect(() => { setTaskLists(TaskList); - }, [TaskList, selectedProject]); + }, [TaskList,selectedProject]); const [selectedTask, selectTask] = useState(null); const [comments, setComment] = useState(null);