{#if media.length === 0}
No anime to display.
(animeLists = cleanCache(user, identity))}> Force refresh
{/if}
{#each media as anime} {@const progress = (anime.mediaListEntry || { progress: 0 }).progress} {#if title.includes('Upcoming Episodes') || progress !== (anime.nextAiringEpisode?.episode || 9999) - 1}
{#if $settings.displaySocialButton} [
S
] {/if} {#if title !== 'Upcoming Episodes' || !$settings.displayCountdownRightAligned}
|
{/if} {#await fetch(`/api/subsplease?tz=${Intl.DateTimeFormat().resolvedOptions().timeZone}`).then( (r) => r.json() )}
...
{:then subsPlease} {#if title !== 'Upcoming Episodes'} {pendingUpdate === anime.id ? progress + 1 : progress}{@html totalEpisodes(anime)}
{ if (pendingUpdate !== anime.id) { lastUpdatedMedia = anime.id; pendingUpdate = anime.id; updateMedia(anime.id, anime.mediaListEntry?.progress, () => { const mediaListEntry = media.find((m) => m.id === anime.id)?.mediaListEntry; if (mediaListEntry) mediaListEntry.progress = progress + 1; previousAnimeList = media; animeLists = cleanCache(user, identity); pendingUpdate = null; }); } }}>+
{#if !completed} [{anime.nextAiringEpisode?.episode === -1 ? '?' : (anime.nextAiringEpisode?.episode || 1) - 1}]
{@html airingTime(anime, subsPlease)}
{/if} {:else}
{@html airingTime(anime, subsPlease, true)}
{/if} {/await}
{/if} {/each}