71 lines
1.8 KiB
JavaScript
71 lines
1.8 KiB
JavaScript
import React from "react";
|
|
import { useSelector } from "react-redux"; // Import useSelector to access Redux state
|
|
import {
|
|
useDashboardProjectsCardData,
|
|
useDashboardTeamsCardData,
|
|
useDashboardTasksCardData,
|
|
} from "../../hooks/useDashboard_Data";
|
|
import Projects from "./Projects";
|
|
import Teams from "./Teams";
|
|
import TasksCard from "./Tasks";
|
|
import ProjectCompletionChart from "./ProjectCompletionChart";
|
|
import ProjectProgressChart from "./ProjectProgressChart";
|
|
import ProjectOverview from "../Project/ProjectOverview";
|
|
// import Attendance from "./Attendance";
|
|
|
|
const Dashboard = () => {
|
|
const { projectsCardData } = useDashboardProjectsCardData();
|
|
const { teamsCardData } = useDashboardTeamsCardData();
|
|
const { tasksCardData } = useDashboardTasksCardData();
|
|
|
|
// Get the selected project ID from Redux store
|
|
const selectedProjectId = useSelector(
|
|
(store) => store.localVariables.projectId
|
|
);
|
|
|
|
// Determine if "All Projects" is selected
|
|
// selectedProjectId will be null when "All Projects" is chosen
|
|
const isAllProjectsSelected = selectedProjectId === null;
|
|
|
|
return (
|
|
<div className="container-fluid mt-3">
|
|
<div className="row gy-4">
|
|
|
|
{isAllProjectsSelected && (
|
|
<div className="col-sm-6 col-lg-4">
|
|
<Projects projectsCardData={projectsCardData} />
|
|
</div>
|
|
)}
|
|
|
|
|
|
<div className={`${!isAllProjectsSelected ? "col-sm-6 col-lg-6":"col-sm-6 col-lg-4"}`}>
|
|
<Teams teamsCardData={teamsCardData} />
|
|
</div>
|
|
|
|
<div className={`${!isAllProjectsSelected ? "col-sm-6 col-lg-6":"col-sm-6 col-lg-4"}`}>
|
|
<TasksCard tasksCardData={tasksCardData} />
|
|
</div>
|
|
|
|
|
|
{isAllProjectsSelected && (
|
|
<div className="col-xxl-6 col-lg-6">
|
|
<ProjectCompletionChart />
|
|
</div>
|
|
)}
|
|
|
|
{! isAllProjectsSelected && (
|
|
<div className="col-xxl-6 col-lg-6">
|
|
<ProjectOverview />
|
|
</div>
|
|
)}
|
|
<div className="col-xxl-6 col-lg-6">
|
|
<ProjectProgressChart />
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default Dashboard; |