From 49f4eae11c64a9492582bf25e030d38f48c03f52 Mon Sep 17 00:00:00 2001 From: Jennie Robinson Faber Date: Tue, 19 May 2026 10:48:50 +0100 Subject: [PATCH] feat(events): admin list and homepage render events in displayTimezone Two more sites that used viewer-local formatting: the admin events index and the homepage event blocks. Switch both to take the event and pass event.displayTimezone to the formatter so admins see events at their intended wall-clock (and admins viewing across the world see the same time). --- app/pages/admin/events/index.vue | 20 ++++++++++++-------- app/pages/index.vue | 13 ++++++++----- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/app/pages/admin/events/index.vue b/app/pages/admin/events/index.vue index 0cafd01..9cf458d 100644 --- a/app/pages/admin/events/index.vue +++ b/app/pages/admin/events/index.vue @@ -92,8 +92,8 @@ {{ event.eventType }} - {{ formatDate(event.startDate) }} - {{ formatTime(event.startDate) }} + {{ formatDate(event) }} + {{ formatTime(event) }} @@ -190,8 +190,8 @@ {{ event.eventType }} - {{ formatDate(event.startDate) }} - {{ formatTime(event.startDate) }} + {{ formatDate(event) }} + {{ formatTime(event) }} @@ -349,19 +349,23 @@ watch([searchQuery, typeFilter, seriesFilter], () => { pastPage.value = 1 }) -const formatDate = (dateString) => { - return new Date(dateString).toLocaleDateString('en-US', { +const formatDate = (event) => { + if (!event?.startDate) return '' + return new Date(event.startDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric', + timeZone: event.displayTimezone || 'America/Toronto', }) } -const formatTime = (dateString) => { - return new Date(dateString).toLocaleTimeString('en-US', { +const formatTime = (event) => { + if (!event?.startDate) return '' + return new Date(event.startDate).toLocaleTimeString('en-US', { hour: 'numeric', minute: '2-digit', hour12: true, + timeZone: event.displayTimezone || 'America/Toronto', }) } diff --git a/app/pages/index.vue b/app/pages/index.vue index de89b01..a675749 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -42,7 +42,7 @@
- {{ formatDate(event.startDate) }} + {{ formatDate(event) }} {{ event.title @@ -168,10 +168,13 @@ const circleData = [ }, ]; -const formatDate = (dateStr) => { - if (!dateStr) return ""; - const d = new Date(dateStr); - return d.toLocaleDateString("en-US", { month: "short", day: "numeric" }); +const formatDate = (event) => { + if (!event?.startDate) return ""; + return new Date(event.startDate).toLocaleDateString("en-US", { + month: "short", + day: "numeric", + timeZone: event.displayTimezone || "America/Toronto", + }); };