fix(ui): render absolute timestamps in the viewer's local timezone

Download event times showed raw UTC wall-clock (iso.slice). Added
formatDateTime()/formatLocalDate() (local tz, robust to naive vs tz-aware
ISO) and applied them to the download row + detail modal datetimes and the
credential/artist date displays. formatPostDate stays UTC (date-only,
locale-stable, unit-tested).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-28 19:36:42 -04:00
parent 8c3900b998
commit c87e8e0932
6 changed files with 40 additions and 9 deletions
@@ -7,7 +7,7 @@
</v-card-title>
<v-card-text>
<p class="text-caption" style="opacity: 0.75">
{{ event.started_at }} {{ event.finished_at || '(running)' }}
{{ formatDateTime(event.started_at) }} {{ event.finished_at ? formatDateTime(event.finished_at) : '(running)' }}
({{ fmtDuration(event.summary?.duration_seconds) }})
</p>
@@ -105,6 +105,7 @@ import { toast } from '../../utils/toast.js'
import { computed } from 'vue'
import { copyText } from '../../utils/clipboard.js'
import { formatDateTime } from '../../utils/date.js'
const props = defineProps({ event: { type: Object, default: null } })
const emit = defineEmits(['close'])