+ {#if loading}
+
{t("common.busy")}
+ {:else if error}
+
{error}
+ {:else if !artistItem && !albumItem && !songItem && details !== null}
+
{JSON.stringify(details, null, 2)}
+ {:else}
+
+
+ {#if artistItem}
+
+
+ {#if artistInfo?.biography}
+ {artistInfo.biography}
+ {/if}
+
+ {/if}
+ {#if songItem}
+ {@const artId = songArtId(songItem)}
+
+
+ {#if artId}
+ {@const artwork = api.getCoverArt(artId, infoArtworkSize)}
+ {@const artwork2x = api.getCoverArt(
+ artId,
+ infoArtworkSize * 2,
+ )}
+
+ {/if}
+
+
{songItem.title}
+
+ {#if albumLabel}
+ {#if albumId}
+
+ {:else}
+ {albumLabel}
+ {/if}
+ {/if}
+ {#if artistLabel}
+ •
+ {#if artistId}
+
+ {:else}
+ {artistLabel}
+ {/if}
+ {/if}
+ {#if songItem.year !== undefined}
+ •
+ {songItem.year}
+ {/if}
+ •
+ {@render ratingControls(songItem, "song")}
+
+ {@render externalLinks(songItem, "recording")}
+
+
+
+ {/if}
+ {#if albumItem}
+
+
+ {#if albumInfo}
+ {@const info = albumInfo}
+ {@render infoArtwork(
+ info,
+ (event) => applyModalTheme(event, info),
+ )}
+ {/if}
+
+
{albumLabel}
+
+ {#if artistLabel}
+ {#if artistId}
+
+ {:else}
+ {artistLabel}
+ {/if}
+ {/if}
+ {#if albumItem?.year !== undefined}
+ •
+ {albumItem.year}
+ {/if}
+ {#if albumItem}
+ •
+ {@render ratingControls(albumItem, "album")}
+ {/if}
+
+ {#if albumInfo}
+ {@render externalLinks(albumInfo, "release")}
+ {/if}
+
+
+ {#if albumInfo?.notes}
+ {albumInfo.notes}
+ {/if}
+
+ {/if}
+
+ {#if ui.infoItem?.type === "artist" || albumItem || artistAlbums.length || artistInfo?.similarArtist?.length || (songItem && extensions.has("sonicsimilarity"))}
+
+ {/if}
+
+ {#if details !== null}
+
+ API
+ {JSON.stringify(
+ { item: details, artistInfo, albumInfo, artistAlbums },
+ null,
+ 2,
+ )}
+
+ {/if}
+ {/if}
+