diff --git a/src/lib/adapters/qobuzAdapters.ts b/src/lib/adapters/qobuzAdapters.ts
index ffa8efdcb..444803b70 100644
--- a/src/lib/adapters/qobuzAdapters.ts
+++ b/src/lib/adapters/qobuzAdapters.ts
@@ -260,6 +260,7 @@ function toArtistAlbumSummary(album: QobuzAlbum): ArtistAlbumSummary {
title: album.title,
artwork,
year: album.release_date_original?.split('-')[0],
+ releaseDate: album.release_date_original,
quality,
genre: album.genre?.name || "Unknown genre"
};
diff --git a/src/lib/components/AlbumCard.svelte b/src/lib/components/AlbumCard.svelte
index be1005ac6..c52baa308 100644
--- a/src/lib/components/AlbumCard.svelte
+++ b/src/lib/components/AlbumCard.svelte
@@ -15,6 +15,7 @@
title: string;
artist: string;
genre: string;
+ releaseDate?: string;
quality?: string;
size?: 'standard' | 'large';
searchId?: string;
@@ -40,6 +41,7 @@
title,
artist,
genre,
+ releaseDate,
quality,
size = 'standard',
searchId,
@@ -90,6 +92,19 @@
imageError = true;
}
+ function formatReleaseDate(dateStr: string | undefined): string {
+ if (!dateStr) return '';
+ const date = new Date(dateStr);
+ if (isNaN(date.getTime())) return '';
+ return date.toLocaleDateString('en-US', {
+ month: 'short',
+ day: 'numeric',
+ year: 'numeric'
+ });
+ }
+
+ const formattedDate = $derived(formatReleaseDate(releaseDate));
+
async function handleToggleFavorite(event: MouseEvent) {
event.stopPropagation();
if (!albumId || !favoriteAvailable) return;
@@ -184,7 +199,12 @@
{#if hasOverlay}
-
{genre}
+
+ {genre}
+ {#if formattedDate}
+ {formattedDate}
+ {/if}
+
{#if showFavoriteButton}