From 41937fbe7c091665fd353fee63105407bd76da34 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 10 Jan 2024 12:26:37 -0800 Subject: fix(schedule): bypass forced refresh on move --- src/lib/Tools/Schedule/CoverBypass.svelte | 63 +++++++++++++++++++++++++++++++ src/lib/Tools/Schedule/Tool.svelte | 55 +-------------------------- 2 files changed, 65 insertions(+), 53 deletions(-) create mode 100644 src/lib/Tools/Schedule/CoverBypass.svelte (limited to 'src') diff --git a/src/lib/Tools/Schedule/CoverBypass.svelte b/src/lib/Tools/Schedule/CoverBypass.svelte new file mode 100644 index 00000000..0467c68e --- /dev/null +++ b/src/lib/Tools/Schedule/CoverBypass.svelte @@ -0,0 +1,63 @@ + + + { + 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} + + + diff --git a/src/lib/Tools/Schedule/Tool.svelte b/src/lib/Tools/Schedule/Tool.svelte index 5fdbb526..68d1c2f1 100644 --- a/src/lib/Tools/Schedule/Tool.svelte +++ b/src/lib/Tools/Schedule/Tool.svelte @@ -9,19 +9,11 @@ import { scheduleMediaListCollection } from '$lib/AniList/schedule'; import { season } from '$lib/Media/Anime/season'; import { findClosestMedia } from '$lib/Media/Anime/Airing/Subtitled/match'; - import MediaTitleDisplay from '$lib/List/MediaTitleDisplay.svelte'; - import { outboundLink } from '$lib/Media/links'; import HeadTitle from '$lib/HeadTitle.svelte'; - import { - onMouseEnter, - onMouseLeave, - onMouseMove, - type HoverCoverResponse - } from '$lib/Media/Cover/hoverCover'; - import HoverCover from '$lib/Media/Cover/HoverCover.svelte'; import Crunchyroll from '$lib/Tools/Schedule/Crunchyroll.svelte'; import Loading from '$lib/Loading.svelte'; import './container.css'; + import CoverBypass from './CoverBypass.svelte'; let subsPleasePromise: Promise; let scheduledMediaPromise: Promise>; @@ -39,8 +31,6 @@ scheduledMediaPromise = scheduleMediaListCollection(new Date().getFullYear(), season()); }); - let hoverCoverState: HoverCoverResponse = {}; - const shiftSubsPleaseSchedule = (schedule: SubsPlease['schedule']) => { const shiftedSchedule: { [key: string]: SubsPleaseEpisode[] } = {}; @@ -78,9 +68,6 @@ const associateMedia = (media: (Media | undefined)[], title: string) => findClosestMedia(media as Media[], title); - const titleSelect = (media: Media | null) => - media ? media.title.english || media.title.romaji || media.title.native : null; - const episode = (media: Media, weekday: string) => { if (media.nextAiringEpisode?.episode === 1) return 1; @@ -147,43 +134,7 @@ {@const media = associateMedia(scheduledMedia, entry.title)}
  • - { - 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} @@ -216,8 +167,6 @@ {/await} - -