import React, { useEffect } from "react"; import { useServiceProjectJobDetails } from "../../hooks/useServiceProject"; import { SpinnerLoader } from "../common/Loader"; import Error from "../common/Error"; import { formatUTCToLocalTime } from "../../utils/dateUtils"; import Avatar from "../common/Avatar"; import EmployeeAvatarGroup from "../common/EmployeeAvatarGroup"; import JobStatusLog from "./JobStatusLog"; import JobComments from "./JobComments"; import { daysLeft } from "../../utils/appUtils"; import HoverPopup from "../common/HoverPopup"; import ChangeStatus from "./ChangeStatus"; import { useParams } from "react-router-dom"; const ManageJobTicket = ({ Job }) => { const { projectId } = useParams(); const { data, isLoading, isError, error } = useServiceProjectJobDetails( Job?.job ); const tabsData = [ { id: "comment", title: "Comments", icon: "bx bx-comment me-2", active: true, content: , }, { id: "history", title: "History", icon: "bx bx-time me-2", active: false, content: , }, ]; if (isLoading) return ; if (isError) return (
); return (
{data?.status?.name} } >
{data?.dueDate && (() => { const { days, color } = daysLeft(data?.startDate, data?.dueDate); return ( Days Left : {days !== null ? `${days} days` : "N/A"} ); })()}
{data?.title}

Description : {data?.description || "N/A"}

{" "} Created Date : {formatUTCToLocalTime(data?.createdAt, true)}
Start Date :{" "} {formatUTCToLocalTime(data?.startDate)} {" "} {" "} Due on :{" "} {formatUTCToLocalTime(data?.startDate)}
Created By{" "} {" "}

{`${data?.createdBy?.firstName} ${data?.createdBy?.lastName}`}

({data?.createdBy?.jobRoleName})
Assigned By
{data?.assignees?.map((emp) => (

{`${emp.firstName} ${emp.lastName}`}

({emp.jobRoleName})
))}
    {tabsData.map((tab) => (
  • ))}
{tabsData.map((tab) => (
{tab.content}
))}
); }; export default ManageJobTicket;