import { useParams } from "react-router-dom";
import React, { useState, useEffect } from "react";
import ActivityTimeline from "../../components/Project/ActivityTimeline";
import ProjectOverview from "../../components/Project/ProjectOverview";
import AboutProject from "../../components/Project/AboutProject";
import ProjectNav from "../../components/Project/ProjectNav";
import ProjectBanner from "../../components/Project/ProjectBanner";
import Teams from "../../components/Project/Teams";
import ProjectInfra from "../../components/Project/ProjectInfra";
import Loader from "../../components/common/Loader";
import WorkPlan from "../../components/Project/WorkPlan";
import Breadcrumb from "../../components/common/Breadcrumb";
import { cacheData, getCachedData } from "../../slices/apiDataManager";
import ProjectRepository from "../../repositories/ProjectRepository";
import { ActivityeRepository } from "../../repositories/MastersRepository";
import "./ProjectDetails.css";
import {useEmployeesByProjectAllocated} from "../../hooks/useProjects";
const ProjectDetails = () => {
let { projectId } = useParams();
const [project, setProject] = useState(null);
const [ projectDetails, setProjectDetails ] = useState( null );
const [activities, setActivities] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState("");
const fetchActivities = async () => {
const activities_cache = getCachedData("activitiesMaster");
if (!activities_cache) {
ActivityeRepository.getActivities()
.then((response) => {
setActivities(response.data);
cacheData("activitiesMaster", response.data);
})
.catch((error) => {
setError("Failed to fetch data.");
});
} else {
setActivities(activities_cache);
}
};
const fetchData = async () => {
const project_cache = getCachedData(`projectinfo-${projectId}`);
if (!project_cache) {
ProjectRepository.getProjectByprojectId(projectId)
.then( ( response ) =>
{
setProjectDetails(response.data);
setProject(response.data);
cacheData( `projectinfo-${ projectId }`, response.data );
setLoading(false)
})
.catch((error) => {
console.error(error);
setError( "Failed to fetch data." );
setLoading(false)
});
} else {
setProjectDetails( project_cache );
setProject( project_cache );
setLoading(false)
}
};
const [activePill, setActivePill] = useState("profile");
const handlePillClick = (pillKey) => {
setActivePill(pillKey);
};
const handleDataChange = (data) => {
fetchData();
};
const renderContent = () => {
if (loading) return
Loading....
} {!loading &&