diff --git a/src/components/ServiceProject/ServiceProjectJob/JobStatusLog.jsx b/src/components/ServiceProject/ServiceProjectJob/JobStatusLog.jsx index bf13b7e5..f1dfce9a 100644 --- a/src/components/ServiceProject/ServiceProjectJob/JobStatusLog.jsx +++ b/src/components/ServiceProject/ServiceProjectJob/JobStatusLog.jsx @@ -1,55 +1,38 @@ -import React from "react"; -import Avatar from "../../common/Avatar"; -import { formatUTCToLocalTime } from "../../../utils/dateUtils"; - +import React, { useMemo } from "react"; +import Timeline from "../../common/Timeline"; +import { getColorNameFromHex } from "../../../utils/appUtils"; const JobStatusLog = ({ data }) => { + // Prepare timeline items + const timelineData = useMemo(() => { + if (!data) return []; + return data + .sort((a, b) => new Date(b.updatedAt) - new Date(a.updatedAt)) + .map((log) => ({ + id: log.id, + title: log.nextStatus?.displayName || log.status?.displayName || "Status Updated", + description: log.nextStatus?.description || "", + timeAgo: log.updatedAt, + color: getColorNameFromHex(log.nextStatus?.color) || "primary", + userComment: log.comment, + users: log.updatedBy + ? [ + { + firstName: log.updatedBy.firstName || "", + lastName: log.updatedBy.lastName || "", + role: log.updatedBy.jobRoleName || "", + avatar: log.updatedBy.photo || null, + }, + ] + : [], + })); + }, [data]); + return (
{item.comment}
-