diff --git a/frontend/src/lib/components/ui/PlaylistArt.svelte b/frontend/src/lib/components/ui/PlaylistArt.svelte index 14535a4..1e5e251 100644 --- a/frontend/src/lib/components/ui/PlaylistArt.svelte +++ b/frontend/src/lib/components/ui/PlaylistArt.svelte @@ -3,12 +3,14 @@ import { gradientForHue, HUES } from '$lib/theme/color'; interface Props { + playlistId?: string; trackIds: (string | number)[]; hue: number; + size?: 'small' | 'medium' | 'large'; class?: string; } - let { trackIds, hue, class: klass = '' }: Props = $props(); + let { playlistId, trackIds, hue, size = 'medium', class: klass = '' }: Props = $props(); function hueFor(id: string | number) { const text = String(id); @@ -17,11 +19,23 @@ return HUES[hash % HUES.length]; } + let coverFailed = $state(false); + const mosaic = $derived(trackIds.length >= 4); const single = $derived(trackIds.length >= 1 && trackIds.length < 4 ? trackIds[0] : null); -{#if mosaic} +{#if playlistId && !coverFailed} +
Crea y organiza tus colecciones.
Crea la primera y añádele canciones de tu biblioteca.
+Crea la primera y añádele canciones de tu biblioteca.