{#await cards} {#each Array(length) as _}

{/each} {:then cards} {#each cards || [] as card} {#if typeof card === 'string'}
{card}
{:else if !card.media}
{[card.parseObject.anime_title, card.episode].filter(s => s).join(' - ')}

{:else}
viewMedia(card.media))} on:keydown={wrapEnter(card.onclick || (() => viewMedia(card.media)))} tabindex={tabable ? 0 : null} role='button' style:--color={card.media.coverImage.color || '#1890ff'} title={card.parseObject?.file_name}>
cover
{#if card.media.mediaListEntry?.status}
{/if} {#if card.failed} Uncertain {/if} {[card.media.title.userPreferred, card.episode].filter(s => s).join(' - ')}
{#if card.schedule && card.media.nextAiringEpisode} {'EP ' + card.media.nextAiringEpisode.episode + ' in ' + countdown(card.media.nextAiringEpisode.timeUntilAiring)} {/if} {#if card.date} {since(card.date)} {/if}

{#if card.media.format === 'TV'} TV Show {:else if card.media.format} {card.media.format?.toLowerCase().replace(/_/g, ' ')} {/if} {#if card.media.episodes && card.media.episodes !== 1} {#if card.media.mediaListEntry?.status === 'CURRENT' && card.media.mediaListEntry?.progress } {card.media.mediaListEntry.progress} / {card.media.episodes} Episodes {:else} {card.media.episodes} Episodes {/if} {:else if card.media.duration} {card.media.duration + ' Minutes'} {/if} {#if card.media.status} {card.media.status?.toLowerCase().replace(/_/g, ' ')} {/if} {#if card.media.season || card.media.seasonYear} {[card.media.season?.toLowerCase(), card.media.seasonYear].filter(s => s).join(' ')} {/if}

{card.media.description?.replace(/<[^>]*>/g, '') || ''}
{#if card.media.genres.length}
{#each card.media.genres.slice(0, 3) as genre} {genre} {/each}
{/if}
{/if} {:else}

Ooops!

Looks like there's nothing here.
{/each} {/await}