feat(web): wire LikeButton into TrackRow, AlbumCard, ArtistRow, PlayerBar

Heart appears on every entity rendering surface. ArtistRow restructured
to a <div> with the link as a positioned overlay so the heart button
can nest without invalid <button>-in-<a> markup. Shell nav grows a
'Liked' entry pointing at /library/liked.
This commit is contained in:
2026-04-26 16:56:07 -04:00
parent 6ab1fef07e
commit de5320a7b4
9 changed files with 104 additions and 25 deletions
+3 -1
View File
@@ -6,6 +6,7 @@
} from '$lib/player/store.svelte';
import { formatDuration } from '$lib/media/duration';
import { FALLBACK_COVER } from '$lib/media/covers';
import LikeButton from './LikeButton.svelte';
const current = $derived(player.current);
@@ -48,7 +49,7 @@
onerror={onCoverError}
/>
</a>
<div class="min-w-0">
<div class="min-w-0 flex-1">
<div class="truncate text-sm font-medium">{current.title}</div>
<a
href={`/artists/${current.artist_id}`}
@@ -57,6 +58,7 @@
{current.artist_name}
</a>
</div>
<LikeButton entityType="track" entityId={current.id} />
</div>
<!-- Center: seek row + transport row -->