fix(library): show album cover art in the Albums grid
The album cards always fell back to the 💿 placeholder: the mapper dropped the backend's `has_cover` and no album cover URL was ever built. Carry `hasCover` through `RawAlbum`/`Album` and add `getAlbumCoverUrl` (GET /albums/{id}/cover, token in the query like the track/stream URLs). The Library Albums grid and the artist-detail discography now render real covers, same source the album-detail page already used. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -32,3 +32,18 @@ export function getTrackCoverUrl(
|
||||
const base = getApiBaseUrl();
|
||||
return `${base}/tracks/${trackId}/cover?token=${encodeURIComponent(token)}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cover image URL for an album, served by `GET /albums/{id}/cover`. Same
|
||||
* `?token=` rationale as the track cover. Returns undefined when the album has
|
||||
* no cover (so callers fall back to generated tile art).
|
||||
*/
|
||||
export function getAlbumCoverUrl(
|
||||
albumId: string,
|
||||
token: string,
|
||||
hasCover: boolean,
|
||||
): string | undefined {
|
||||
if (!hasCover) return undefined;
|
||||
const base = getApiBaseUrl();
|
||||
return `${base}/albums/${albumId}/cover?token=${encodeURIComponent(token)}`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user