data endpoint for entity 90008 (aka. a website)

use cover from coverartarchive if releaseMbId is available

ptr.pet 7f61f12b cb9e8adb

verified
0/0
Waiting for spindle ...
Changed files
+8 -2
src
lib
routes
(site)
+6 -2
src/lib/lastfm.ts
···
type LastTrack = {
name: string;
artist: string;
+
album: string;
image: string | null;
link: string | null;
when: number;
···
}
};
-
const getTrackCoverArt = (originUrl: string | null | undefined) => {
+
const getTrackCoverArt = (releaseMbId: string | null | undefined, originUrl: string | null | undefined) => {
+
if (releaseMbId) return `https://coverartarchive.org/release/${releaseMbId}/front-250`;
+
if (!originUrl) return null;
let videoId: string | null = null;
···
const data: LastTrack = {
name: track.trackName,
artist: joinArtists(track.artists) ?? 'Unknown Artist',
-
image: getTrackCoverArt(track.originUrl),
+
album: track.releaseName ?? 'Unknown Album',
+
image: getTrackCoverArt(track.releaseMbId, track.originUrl),
link: track.originUrl ?? null,
when: when,
status: status
+2
src/routes/(site)/+page.svelte
···
class="border-4 w-[4.5rem] h-[4.5rem] object-cover"
style="border-style: none double none none;"
src={data.lastTrack.image}
+
title={data.lastTrack.album}
/>
{:else}
<img
class="border-4 w-[4.5rem] h-[4.5rem] p-2"
style="border-style: none double none none; image-rendering: pixelated;"
src="/icons/cd_audio.webp"
+
title={data.lastTrack.album}
/>
{/if}
<div class="flex flex-col max-w-[60ch] p-2">