From 9bae91f281091faa84b73d2ec084b43c9eca3754 Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Thu, 16 Apr 2026 17:54:21 -0400 Subject: [PATCH] Format created date as YYYY-MM-DD HH:MM TZ on view page - Parse timestamp as UTC, display in user's local timezone - 24-hour format with short timezone name (e.g. 2026-04-16 17:27 EDT) --- src/pages/workorders/api.js | 1 + src/pages/workorders/view/WorkOrderViewPage.js | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/pages/workorders/api.js b/src/pages/workorders/api.js index 0cc6d8d0..48bdcb98 100644 --- a/src/pages/workorders/api.js +++ b/src/pages/workorders/api.js @@ -23,6 +23,7 @@ export const getWorkOrderById = async (id) => { assignedTo: wo.assignee ?? wo.assignedTo ?? "", dueDate: wo.dueDate ? wo.dueDate.split("T")[0] : "", createdDate: wo.createdDate ? wo.createdDate.split("T")[0] : "", + createdDateFull: wo.createdDate ?? "", description: wo.description ?? "", priority: wo.priority ?? "", status: wo.status ?? "Open", diff --git a/src/pages/workorders/view/WorkOrderViewPage.js b/src/pages/workorders/view/WorkOrderViewPage.js index a07420a5..4b92d59f 100644 --- a/src/pages/workorders/view/WorkOrderViewPage.js +++ b/src/pages/workorders/view/WorkOrderViewPage.js @@ -4,6 +4,15 @@ import { toast } from "react-toastify"; import { getWorkOrderById } from "../api"; import "./WorkOrderViewPage.css"; +function formatDateTime(value) { + const d = new Date(value.endsWith("Z") ? value : value + "Z"); + if (isNaN(d)) return value; + const date = d.toLocaleDateString("en-CA"); + const time = d.toLocaleTimeString(undefined, { hour: "2-digit", minute: "2-digit", hour12: false }); + const tz = d.toLocaleTimeString(undefined, { timeZoneName: "short" }).split(" ").pop(); + return `${date} ${time} ${tz}`; +} + export default function WorkOrderViewPage() { const { id } = useParams(); const navigate = useNavigate(); @@ -79,7 +88,9 @@ export default function WorkOrderViewPage() {