diff --git a/src/components/Project/ProjectCard.jsx b/src/components/Project/ProjectCard.jsx index 015312fe..7ff4350b 100644 --- a/src/components/Project/ProjectCard.jsx +++ b/src/components/Project/ProjectCard.jsx @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import moment from "moment"; -import { formatNumber, getDateDifferenceInDays } from "../../utils/dateUtils"; +import { formatNumber, getCompletionPercentage, getDateDifferenceInDays } from "../../utils/dateUtils"; import { useNavigate } from "react-router-dom"; import { useProjectDetails, useUpdateProject } from "../../hooks/useProjects"; import ManageProjectInfo from "./ManageProjectInfo"; @@ -227,12 +227,7 @@ const ProjectCard = ({ projectData, recall }) => { Task: {formatNumber(projectInfo.completedWork)} / {formatNumber(projectInfo.plannedWork)} - {Math.floor( - getProgressInNumber( - projectInfo.plannedWork, - projectInfo.completedWork - ) - ) || 0}{" "} + {getCompletionPercentage(projectInfo.completedWork, projectInfo.plannedWork)} % Completed diff --git a/src/components/Project/ProjectOverview.jsx b/src/components/Project/ProjectOverview.jsx index c489c339..f258ce8b 100644 --- a/src/components/Project/ProjectOverview.jsx +++ b/src/components/Project/ProjectOverview.jsx @@ -3,7 +3,7 @@ import { useEmployeesByProjectAllocated, useProjects, } from "../../hooks/useProjects"; -import { formatNumber } from "../../utils/dateUtils"; +import { formatNumber, getCompletionPercentage } from "../../utils/dateUtils"; import ProgressBar from "../common/ProgressBar"; const ProjectOverview = ({ project }) => { @@ -49,9 +49,8 @@ const ProjectOverview = ({ project }) => { ) ) || 0}{" "} */} { - (formatNumber(project_detail.plannedWork), - "/", - formatNumber(project_detail.completedWork)) + getCompletionPercentage( formatNumber(project_detail.completedWork),formatNumber(project_detail.plannedWork)) + } % Completed diff --git a/src/utils/dateUtils.jsx b/src/utils/dateUtils.jsx index 0105d4aa..4d6643b6 100644 --- a/src/utils/dateUtils.jsx +++ b/src/utils/dateUtils.jsx @@ -69,4 +69,13 @@ export const formatNumber = (num) => { }; export const formatUTCToLocalTime = (datetime) =>{ return moment.utc(datetime).local().format("MMMM DD, YYYY [at] hh:mm A"); +} + +export const getCompletionPercentage = (completedWork, plannedWork)=> { + if (!plannedWork || plannedWork === 0) return 0; + + const percentage = (completedWork / plannedWork) * 100; + const clamped = Math.min(Math.max(percentage, 0), 100); + + return clamped.toFixed(2); } \ No newline at end of file