import React, { useEffect, useState } from "react"; import moment from "moment"; import { getProjectStatusName } from "../../utils/projectStatus"; import { useProjectDetails, useUpdateProject } from "../../hooks/useProjects"; import { useSelector } from "react-redux"; // Import useSelector import { useHasUserPermission } from "../../hooks/useHasUserPermission"; import { MANAGE_PROJECT } from "../../utils/constants"; import GlobalModel from "../common/GlobalModel"; import ManageProjectInfo from "./ManageProjectInfo"; import { useQueryClient } from "@tanstack/react-query"; import { useSelectedProject } from "../../slices/apiDataManager"; const AboutProject = () => { const [IsOpenModal, setIsOpenModal] = useState(false); const { mutate: UpdateProjectDetails, isPending } = useUpdateProject({ onSuccessCallback: () => { setIsOpenModal(false); } }); const ClientQuery = useQueryClient(); // *** MODIFIED LINE: Get projectId from Redux store using useSelector *** // const projectId = useSelector((store) => store.localVariables.projectId); const projectId = useSelectedProject(); const manageProject = useHasUserPermission(MANAGE_PROJECT); const { projects_Details, isLoading, error, refetch } = useProjectDetails(projectId); // Pass projectId from useSelector const handleFormSubmit = (updatedProject) => { if (projects_Details?.id) { UpdateProjectDetails({ projectId: projects_Details?.id, updatedData: updatedProject }); // The refetch here might be redundant or could be handled by react-query's invalidateQueries // if UpdateProjectDetails properly invalidates the 'projectDetails' query key. // If refetch is still needed, consider adding a delay or using onSuccess of UpdateProjectDetails. // For now, keeping it as is based on your original code. refetch(); } }; return ( <> {IsOpenModal && ( setIsOpenModal(false)}> setIsOpenModal(false)} isPending={isPending} /> )} {projects_Details && ( <>
{" "} Project Profile
)} {isLoading && loading...} ); }; export default AboutProject;