{@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")}
0} class="ml-2"> {gettext("Number of scrobbles")} <.round_badge text={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} />