Prevent multiple API calls and display correct data for selected project

This commit is contained in:
Pramod Mahajan 2025-04-24 11:54:00 +05:30 committed by Gitea Admin
parent d2d1c3cc86
commit a92a041333

View File

@ -34,7 +34,7 @@ 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)
);
@ -45,9 +45,10 @@ const DailyTask = () => {
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,7 +59,9 @@ 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([]);