{@artist.name}
<.async_result :let={artist_info} assign={@artist_info}>
<:loading>
{gettext("Loading play count")}
<.icon
name="hero-arrow-path"
class="-mt-1 h-5 w-5 animate-spin"
aria-hidden="true"
data-slot="icon"
/>
<:failed :let={_failure}>
<.icon
name="hero-exclamation-triangle"
class="-mt-1 mr-1 ml-2 h-5 w-5"
aria-hidden="true"
data-slot="icon"
/>
{gettext("Error loading play count")}
<.round_badge :if={artist_info.on_tour} text={gettext("On Tour")} />
0}
class="ml-2 text-sm font-normal text-zinc-700 dark:text-zinc-300 grow text-right"
>
{ngettext("1 scrobble", "%{count} scrobbles", artist_info.play_count)}
<.async_result :let={artist_info} assign={@artist_info}>
<:loading>
{gettext("Loading biography")}
<:failed :let={_failure}>
<.icon
name="hero-exclamation-triangle"
class="-mt-1 mr-1 h-5 w-5"
aria-hidden="true"
data-slot="icon"
/>
{gettext("Error loading biography")}
{gettext("Biography")}
{render_bio(@artist_info.result.bio)}
<.grid
:if={@collection_records_count > 0}
title={gettext("Collection")}
id="collection"
records={@streams.collection_records}
records_count={@collection_records_count}
record_path={fn record -> ~p"/collection/#{record}" end}
/>
<.grid
:if={@wishlist_records_count > 0}
title={gettext("Wishlist")}
id="wishlist"
records={@streams.wishlist_records}
records_count={@wishlist_records_count}
record_path={fn record -> ~p"/wishlist/#{record}" end}
/>