From 3bcc3accc659dc76405c22850dd378c54b7d7fe4 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 18 Jan 2024 07:43:37 -0800 Subject: feat(schedule): cover mode --- src/lib/Settings/Categories/Display.svelte | 4 ++ src/lib/Tools/Schedule/CoverBypass.svelte | 5 +- src/lib/Tools/Schedule/Days.svelte | 108 ++++++++++++++++++++++++----- src/lib/Tools/Schedule/Tool.svelte | 7 +- src/stores/settings.ts | 2 + 5 files changed, 106 insertions(+), 20 deletions(-) diff --git a/src/lib/Settings/Categories/Display.svelte b/src/lib/Settings/Categories/Display.svelte index 69b26aec..553204ce 100644 --- a/src/lib/Settings/Categories/Display.svelte +++ b/src/lib/Settings/Categories/Display.svelte @@ -100,6 +100,10 @@ setting="displayHoverCover" text="Show media cover when hovering on supported media titles" /> + - +{#if cover} + +{/if} diff --git a/src/lib/Tools/Schedule/Days.svelte b/src/lib/Tools/Schedule/Days.svelte index 9247d109..9b4ef6b2 100644 --- a/src/lib/Tools/Schedule/Days.svelte +++ b/src/lib/Tools/Schedule/Days.svelte @@ -3,6 +3,7 @@ import type { Media } from '$lib/AniList/media'; import { findClosestMedia } from '$lib/Media/Anime/Airing/Subtitled/match'; import type { SubsPlease, SubsPleaseEpisode } from '$lib/Media/Anime/Airing/Subtitled/subsPlease'; + import { outboundLink } from '$lib/Media/links'; import { parseOrDefault } from '$lib/Utility/parameters'; import settings from '$stores/settings'; import CoverBypass from './CoverBypass.svelte'; @@ -72,32 +73,103 @@ > {day} -
    - {#each Object.values(scheduleEntry) as entry} - {@const media = associateMedia(scheduledMedia, entry.title)} - -
  1. - - {#if !$settings.displayCountdownRightAligned} - | - {/if} - - {#if media && media.nextAiringEpisode} - - {episode(media, day)}{media.episodes ? `/${media.episodes}` : ''} at + {#if !$settings.displayScheduleListMode} +
    + {#each Object.values(scheduleEntry) as entry} + {@const media = associateMedia(scheduledMedia, entry.title)} + +
    + + Cover + + +
    + + + {#if media && media.nextAiringEpisode} + + {episode(media, day)}{media.episodes ? `/${media.episodes}` : ''} at + + {/if} + {entry.time} +
    +
    + {/each} +
    + {:else} +
      + {#each Object.values(scheduleEntry) as entry} + {@const media = associateMedia(scheduledMedia, entry.title)} + +
    1. + + {#if !$settings.displayCountdownRightAligned} + | {/if} - {entry.time} - -
    2. - {/each} -
    + + {#if media && media.nextAiringEpisode} + + {episode(media, day)}{media.episodes ? `/${media.episodes}` : ''} at + + {/if} + {entry.time} + +
  2. + {/each} +
+ {/if}

{/each}