diff --git a/frontend/src/components/Artwork.tsx b/frontend/src/components/Artwork.tsx index 721be0e..412bdb7 100644 --- a/frontend/src/components/Artwork.tsx +++ b/frontend/src/components/Artwork.tsx @@ -9,6 +9,8 @@ interface ArtworkProps { rounded?: 'sm' | 'md' | 'lg' | 'xl' | 'full'; /** Skip native lazy-loading — set true for above-the-fold artwork (e.g. PlaybackBar). */ eager?: boolean; + /** Drop the note glyph. For callers that draw their own icon on top (TrackRow's play overlay). */ + glyph?: boolean; } const API_BASE = import.meta.env.VITE_API_URL || '/api'; @@ -25,13 +27,13 @@ function proxySrc(src: string): string { return src; } -export function Artwork({ seed, src, className = '', rounded = 'md', eager = false }: ArtworkProps) { +export function Artwork({ seed, src, className = '', rounded = 'md', eager = false, glyph = true }: ArtworkProps) { const hue = hueFromString(seed); // Symmetric top sheen over a diagonal base — the highlight is centered // horizontally so it reads as even behind the centered note glyph. const gradient = - `radial-gradient(110% 90% at 50% 0%, hsl(${hue},55%,30%) 0%, transparent 60%), ` + - `linear-gradient(160deg, hsl(${hue},48%,23%), hsl(${(hue + 55) % 360},40%,11%))`; + `radial-gradient(110% 90% at 50% 0%, hsl(${hue},42%,26%) 0%, transparent 60%), ` + + `linear-gradient(160deg, hsl(${hue},36%,19%), hsl(${hue - 6},30%,10%))`; const r = { sm: 'rounded-sm', md: 'rounded-md', lg: 'rounded-lg', xl: 'rounded-xl', full: 'rounded-full' }[rounded]; // If an image source is supplied we render it lazily over the gradient @@ -45,7 +47,7 @@ export function Artwork({ seed, src, className = '', rounded = 'md', eager = fal const proxied = proxySrc(src); return (
{subtitle}
} + {meta && ( +{meta}
)} -{subtitle}
} -{data.year ? `${data.year} · ` : ''}{tracks.length} {tracks.length === 1 ? 'track' : 'tracks'}
+{data.year ? `${data.year} · ` : ''}{tracks.length} tracks
} @@ -72,7 +72,7 @@ export default function AlbumDetail() {{albums.length} {albums.length === 1 ? 'album' : 'albums'}
-{albums.length} albums
Browse by genre, then play tracks or start a vibe.
-Loading genres…
+Couldn't load genres.
+No genres available yet.
+