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) // Sync projectId (either from URL or pick first accessible one)
useEffect(() => { useEffect(() => {
if (!project_lodaing && projects.length > 0) { if (!project_lodaing && projects.length > 0 && !initialized) {
const userProjects = projects.filter((p) => const userProjects = projects.filter((p) =>
LoggedUser?.projects?.map(Number).includes(p.id) LoggedUser?.projects?.map(Number).includes(p.id)
); );
@ -45,9 +45,10 @@ const DailyTask = () => {
dispatch(setProjectId(userProjects[0].id)); 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); const dispatch = useDispatch(selectedProject);
@ -58,13 +59,15 @@ const DailyTask = () => {
loading: task_loading, loading: task_loading,
error: task_error, error: task_error,
refetch, refetch,
} = useTaskList(selectedProject, dateRange.startDate, dateRange.endDate); } = useTaskList( initialized ? selectedProject : null,
initialized ? dateRange.startDate : null,
initialized ? dateRange.endDate : null);
const [TaskLists, setTaskLists] = useState([]); const [TaskLists, setTaskLists] = useState([]);
useEffect(() => { useEffect(() => {
setTaskLists(TaskList); setTaskLists(TaskList);
}, [TaskList, selectedProject]); }, [TaskList,selectedProject]);
const [selectedTask, selectTask] = useState(null); const [selectedTask, selectTask] = useState(null);
const [comments, setComment] = useState(null); const [comments, setComment] = useState(null);