{#if media}
cover
{media.title.userPreferred}
{#if media.averageScore} trending_up Rating: {media.averageScore + '%'} {/if} {#if media.format} monitor Format: {media.format === 'TV' ? media.format : media.format?.replace(/_/g, ' ').toLowerCase()} {/if} {#if media.episodes !== 1 && getMediaMaxEp(media)} theaters Episodes: {getMediaMaxEp(media)} {:else if media.duration} timer Length: {media.duration + ' min'} {/if}
{#each media.genres as genre}
{genre}
{/each}

Synopsis

{media.description?.replace(/<[^>]*>/g, '') || ''}
node.type === 'ANIME')} let:item title='Relations'>
{ $view = null; $view = (await anilistClient.searchIDSingle({ id: item.node.id })).data.Media }}> cover
{item.relationType.replace(/_/g, ' ').toLowerCase()}
{item.node.title.userPreferred}
{#if maxPlayEp}

Episodes

{#each Array(maxPlayEp) as _, i} {@const ep = maxPlayEp - i} { playAnime(media, ep) close() }}> {/each}
Episode {ep} play_arrow
{/if} edge.node.mediaRecommendation)} let:item title='Recommendations'>
{ $view = null; $view = (await anilistClient.searchIDSingle({ id: item.node.mediaRecommendation.id })).data.Media }}> cover
{item.node.mediaRecommendation.title.userPreferred}
{#if media.mediaListEntry?.progress}

Progress

{media.mediaListEntry?.progress} / {getMediaMaxEp(media)} Available Episodes
{/if}
{/if}