import React from "react"; import { useParams } from "react-router-dom"; import { useJobsProgression } from "../../hooks/useDashboard_Data"; import { SpinnerLoader } from "../common/Loader"; import { formatUTCToLocalTime } from "../../utils/dateUtils"; import { useServiceProject } from "../../hooks/useServiceProject"; const ServiceJobs = () => { const { projectId } = useParams(); const { data, isLoading, isError } = useJobsProgression(projectId); const jobs = data || {}; const { data: projectData, isLoading: projectLoading } = useServiceProject(projectId); const tabMapping = [ { id: "tab-new", label: "My Jobs", key: "allJobs" }, { id: "tab-preparing", label: "Assigned", key: "assignedJobs" }, { id: "tab-shipping", label: "In Progress", key: "inProgressJobs" }, ]; return (
Service Jobs

{projectLoading ? "Loading..." : projectData?.name || "All Projects"}

{/* ---------------- Tabs ---------------- */}
    {tabMapping.map((t, index) => (
  • ))}
{/* ---------------- Tab Content ---------------- */}
{isLoading && (
)} {isError && (

No data found

)} {!isLoading && !isError && tabMapping.map((t, index) => { const list = jobs[t.key] || []; return (
{list.length === 0 ? (

No jobs found

) : (
{list.map((job, i) => (
    {/* Assigned By */}
  • Assigned By
    {job.assignedBy}

    {formatUTCToLocalTime(job.assignedAt)}

  • {/* Project */}
  • Project
    {job.project}

    {job.title}

{/* Divider */} {i < list.length - 1 && (
)}
))}
)}
); })}
); }; export default ServiceJobs;