From 7fe58577d843354960d73f00068cb4324ee7aae0 Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Mon, 24 Nov 2025 07:32:09 +0100 Subject: [PATCH] Use Intl formatter for episode dates --- src/ui/PodcastView/EpisodeListItem.svelte | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/ui/PodcastView/EpisodeListItem.svelte b/src/ui/PodcastView/EpisodeListItem.svelte index 54d440f..7e5b0ba 100644 --- a/src/ui/PodcastView/EpisodeListItem.svelte +++ b/src/ui/PodcastView/EpisodeListItem.svelte @@ -8,6 +8,11 @@ export let showEpisodeImage: boolean = false; const dispatch = createEventDispatcher(); + const dateFormatter = new Intl.DateTimeFormat("en-GB", { + day: "2-digit", + month: "long", + year: "numeric", + }); function onClickEpisode() { dispatch("clickEpisode", { episode }); @@ -17,12 +22,17 @@ dispatch("contextMenu", { episode, event }); } - let _date: Date; - let date: string; + let formattedDate: string = ""; $: { - _date = new Date(episode.episodeDate || ""); - date = window.moment(_date).format("DD MMMM YYYY"); + if (episode?.episodeDate) { + const parsedDate = new Date(episode.episodeDate); + formattedDate = Number.isNaN(parsedDate.valueOf()) + ? "" + : dateFormatter.format(parsedDate).toUpperCase(); + } else { + formattedDate = ""; + } } @@ -48,7 +58,7 @@ class="podcast-episode-information" style:flex-basis={"80%"} > - {date.toUpperCase()} + {formattedDate} {episode.title}