Crunchyroll Release Calender (Click to {crunchyrollExpanded ? 'collapse' : 'expand'})

{#await subsPleasePromise} {:then subsPlease} {#if subsPlease} {#await scheduledMediaPromise} {:then scheduledMedia} {#if scheduledMedia} {@const columnCount = Math.ceil(Object.keys(subsPlease.schedule).length / 2)}

{#each Object.entries(shiftSubsPleaseSchedule(subsPlease.schedule)) as [day, scheduleEntry]}
{day}
    {#each Object.values(scheduleEntry) as entry} {@const media = associateMedia(scheduledMedia, entry.title)}
  1. { const response = onMouseEnter(media, entry); hoverCoverState.hovering = response.hovering; hoverCoverState.item = response.item; hoverCoverState.media = response.media; }} on:mouseleave={() => { const response = onMouseLeave(); hoverCoverState.hovering = response.hovering; hoverCoverState.item = response.item; hoverCoverState.media = response.media; }} on:mousemove={(e) => { const response = onMouseMove(e, 300); hoverCoverState.style = response.style; }} > {#if media} {:else} {entry.title} {/if} {#if !$settings.displayCountdownRightAligned} | {/if} {#if media && media.nextAiringEpisode} {episode(media, day)}{media.episodes ? `/${media.episodes}` : ''} at {/if} {entry.time}
  2. {/each}

{/each}

{:else} {/if} {:catch} {/await} {:else} {/if} {:catch} {/await}