Improve heuristics to render artist links for scrobbled tracks

This commit is contained in:
Claudio Ortolina
2025-09-29 18:40:50 +03:00
parent d4831b527f
commit 641ba3e1b7
2 changed files with 10 additions and 6 deletions
@@ -166,4 +166,8 @@ defmodule MusicLibraryWeb.StatsLive.Index do
track_or_album.cover_url track_or_album.cover_url
end end
end end
defp artist_id(track_or_album, record_artist_id) do
record_artist_id || track_or_album.artist.musicbrainz_id
end
end end
@@ -114,15 +114,15 @@
/> />
<div> <div>
<p <p
:if={!artist_id} :if={!artist_id(album, artist_id)}
class="font-semibold text-sm block text-zinc-500 dark:text-zinc-400" class="font-semibold text-sm block text-zinc-500 dark:text-zinc-400"
> >
{album.artist.name} {album.artist.name}
</p> </p>
<.link <.link
:if={artist_id} :if={artist_id(album, artist_id)}
class="font-semibold text-sm block text-zinc-700 hover:text-zinc-500 dark:text-zinc-400 dark:hover:text-zinc-300" class="font-semibold text-sm block text-zinc-700 hover:text-zinc-500 dark:text-zinc-400 dark:hover:text-zinc-300"
navigate={~p"/artists/#{album.artist.musicbrainz_id}"} navigate={~p"/artists/#{artist_id(album, artist_id)}"}
> >
{album.artist.name} {album.artist.name}
</.link> </.link>
@@ -299,15 +299,15 @@
/> />
<div> <div>
<p <p
:if={!artist_id} :if={!artist_id(track, artist_id)}
class="font-semibold text-sm block text-zinc-500 dark:text-zinc-400" class="font-semibold text-sm block text-zinc-500 dark:text-zinc-400"
> >
{track.artist.name} {track.artist.name}
</p> </p>
<.link <.link
:if={artist_id} :if={artist_id(track, artist_id)}
class="font-semibold text-sm block text-zinc-700 hover:text-zinc-500 dark:text-zinc-400 dark:hover:text-zinc-300" class="font-semibold text-sm block text-zinc-700 hover:text-zinc-500 dark:text-zinc-400 dark:hover:text-zinc-300"
navigate={~p"/artists/#{artist_id}"} navigate={~p"/artists/#{artist_id(track, artist_id)}"}
> >
{track.artist.name} {track.artist.name}
</.link> </.link>