diff --git a/src/components/Project/AboutProject.jsx b/src/components/Project/AboutProject.jsx
index 53e36e0a..db328f3a 100644
--- a/src/components/Project/AboutProject.jsx
+++ b/src/components/Project/AboutProject.jsx
@@ -1,14 +1,47 @@
import React, { useEffect, useState } from "react";
import moment from "moment";
import { getProjectStatusName } from "../../utils/projectStatus";
-import {useProjectDetails} from "../../hooks/useProjects";
+import {useProjectDetails, useUpdateProject} from "../../hooks/useProjects";
import {useParams} from "react-router-dom";
-const AboutProject = () => {
+import {useHasUserPermission} from "../../hooks/useHasUserPermission";
+import {MANAGE_PROJECT} from "../../utils/constants";
+import GlobalModel from "../common/GlobalModel";
+import ManageProjectInfo from "./ManageProjectInfo";
+const AboutProject = () =>
+{
+ const [ IsOpenModal, setIsOpenModal ] = useState( false )
+ const {mutate: UpdateProjectDetails, isPending} = useUpdateProject( {
+ onSuccessCallback: () =>
+ {
+ setIsOpenModal(false)
+ }
+ })
const {projectId} = useParams();
- const {projects_Details,isLoading,error} = useProjectDetails(projectId)
+ const manageProject = useHasUserPermission(MANAGE_PROJECT);
+ const {projects_Details, isLoading, error,refetch} = useProjectDetails( projectId )
+ const handleFormSubmit = ( updatedProject ) =>
+ {
+ if ( projects_Details?.id )
+ {
+ UpdateProjectDetails({ projectId: projects_Details?.id,updatedData: updatedProject,
+ } );
+ refetch()
+ }
+};
return (
<>
+ {IsOpenModal && (
+ setIsOpenModal(false)}>
+ setIsOpenModal( false )}
+ isPending={isPending}
+ />
+
+ )}
{projects_Details && (
+ <>
@@ -50,8 +83,7 @@ const AboutProject = () => {
Status:{" "}
- {projects_Details?.projectStatus?.status
-}
+ {getProjectStatusName(projects_Details.projectStatusId)}
@@ -70,10 +102,28 @@ const AboutProject = () => {
{projects_Details.projectAddress}
)}
+
+
+ {manageProject && (
+
+ )}
+
-
- )}
+
+ >
+ )}
+
{isLoading && loading...}
>
diff --git a/src/components/Project/ManageProjectInfo.jsx b/src/components/Project/ManageProjectInfo.jsx
index 1c289c16..722ad453 100644
--- a/src/components/Project/ManageProjectInfo.jsx
+++ b/src/components/Project/ManageProjectInfo.jsx
@@ -14,9 +14,8 @@ const formatDate = (date) => {
}
return d.toLocaleDateString('en-CA');
};
-const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
+const ManageProjectInfo = ({ project, handleSubmitForm, onClose,isPending }) => {
const [CurrentProject, setCurrentProject] = useState();
- const [isloading, setLoading] = useState(false);
const [addressLength, setAddressLength] = useState(0);
const maxAddressLength = 500;
@@ -116,9 +115,10 @@ const DEFAULT_EMPTY_STATUS_ID = "00000000-0000-0000-0000-000000000000";
*/
- const onSubmitForm = (updatedProject) => {
- setLoading(true);
- handleSubmitForm(updatedProject, setLoading, reset);
+ const onSubmitForm = ( updatedProject ) =>
+ {
+
+ handleSubmitForm(updatedProject);
};
const handleCancel = () => {
@@ -313,14 +313,15 @@ const DEFAULT_EMPTY_STATUS_ID = "00000000-0000-0000-0000-000000000000";
)}
-