import React, { useState, useMemo } from "react"; import ApexChart from "../Charts/Circle"; import { useProjects } from "../../hooks/useProjects"; import { useDashboard_AttendanceData } from "../../hooks/useDashboard_Data"; import { useSelectedProject } from "../../hooks/useSelectedProject"; // ✅ your custom hook const Attendance = () => { const { projects } = useProjects(); const today = new Date().toISOString().split("T")[0]; // YYYY-MM-DD const [selectedDate, setSelectedDate] = useState(today); // central project selection hook const selectedProjectId = useSelectedProject() const { dashboard_Attendancedata: AttendanceData, isLoading, error: isError, } = useDashboard_AttendanceData(selectedDate, selectedProjectId); // project name derived once const displayedProjectName = useMemo(() => { if (selectedProjectId === "all") return "All Projects"; const found = projects?.find((p) => p.id === selectedProjectId); return found?.name || "Select Project"; }, [selectedProjectId, projects]); return (
Daily Attendance Data
Loading Attendance data...
) : isError ? (No data available.
) : ( AttendanceData && ( <>Name | Checkin | Checkout |
---|---|---|
{r.firstName} {r.lastName} | {r.inTime ? new Date(r.inTime).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) : "-"} | {r.outTime ? new Date(r.outTime).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) : "-"} |
No attendance data available |