import React, { useState, useEffect } from "react"; import LineChart from "../Charts/LineChart"; import { useProjects } from "../../hooks/useProjects"; import { useDashboard_ActivityData } from "../../hooks/useDashboard_Data"; import ApexChart from "../Charts/Circlechart"; const LOCAL_STORAGE_PROJECT_KEY = "selectedActivityProjectId"; const Activity = () => { const { projects } = useProjects(); const today = new Date().toISOString().split("T")[0]; // Format: YYYY-MM-DD const [selectedDate, setSelectedDate] = useState(today); const storedProjectId = localStorage.getItem(LOCAL_STORAGE_PROJECT_KEY); const initialProjectId = storedProjectId || "all"; const [selectedProjectId, setSelectedProjectId] = useState(initialProjectId); const [displayedProjectName, setDisplayedProjectName] = useState("Select Project"); const [activeTab, setActiveTab] = useState("all"); const { dashboard_Activitydata: ActivityData, isLoading, error: isError } = useDashboard_ActivityData(selectedDate, selectedProjectId); useEffect(() => { if (selectedProjectId === "all") { setDisplayedProjectName("All Projects"); } else if (projects) { const foundProject = projects.find((p) => p.id === selectedProjectId); setDisplayedProjectName(foundProject ? foundProject.name : "Select Project"); } else { setDisplayedProjectName("Select Project"); } localStorage.setItem(LOCAL_STORAGE_PROJECT_KEY, selectedProjectId); }, [selectedProjectId, projects]); const handleProjectSelect = (projectId) => { setSelectedProjectId(projectId); }; const handleDateChange = (e) => { setSelectedDate(e.target.value); }; return (
Activity Progress Chart
Loading activity data...
) : isError ? (No data available.
) : ( ActivityData && ( <>Activity / Location | Assigned / Completed |
---|---|
{log.activity} | {log.assignedToday} / {log.completed} |