fixed correct projectId is used when navigating to DailyTask #46
@ -19,15 +19,37 @@ const DailyTask = () => {
|
|||||||
const { profile: LoggedUser } = useProfile();
|
const { profile: LoggedUser } = useProfile();
|
||||||
const [searchParams] = useSearchParams();
|
const [searchParams] = useSearchParams();
|
||||||
const projectId = searchParams.get("project");
|
const projectId = searchParams.get("project");
|
||||||
|
const selectedProject = useSelector(
|
||||||
|
(store) => store.localVariables.projectId
|
||||||
|
);
|
||||||
const {
|
const {
|
||||||
projects,
|
projects,
|
||||||
loading: project_lodaing,
|
loading: project_lodaing,
|
||||||
error: projects_Error,
|
error: projects_Error,
|
||||||
} = useProjects();
|
} = 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 dispatch = useDispatch(selectedProject);
|
||||||
const [dateRange, setDateRange] = useState({ startDate: "", endDate: "" });
|
const [dateRange, setDateRange] = useState({ startDate: "", endDate: "" });
|
||||||
|
|
||||||
@ -60,9 +82,6 @@ const DailyTask = () => {
|
|||||||
openModal();
|
openModal();
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (projectId) dispatch(setProjectId(projectId));
|
|
||||||
}, [projectId]);
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
@ -161,6 +180,11 @@ const DailyTask = () => {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
)}
|
)}
|
||||||
|
{(!initialized || !selectedProject) && ( <tr>
|
||||||
|
<td colSpan={7} className="text-center">
|
||||||
|
<p>Loading..</p>
|
||||||
|
</td>
|
||||||
|
</tr>)}
|
||||||
|
|
||||||
{TaskLists.map((task, index) => {
|
{TaskLists.map((task, index) => {
|
||||||
const accordionId = `accordion-${index}`;
|
const accordionId = `accordion-${index}`;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user