aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/Media/HoverCover.svelte5
-rw-r--r--src/lib/Media/hoverCover.ts7
-rw-r--r--src/routes/schedule/+page.svelte7
3 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/Media/HoverCover.svelte b/src/lib/Media/HoverCover.svelte
index a3aea9d6..d4009bec 100644
--- a/src/lib/Media/HoverCover.svelte
+++ b/src/lib/Media/HoverCover.svelte
@@ -2,17 +2,18 @@
import type { Media } from '$lib/AniList/media';
import type { SubsPleaseEpisode } from './Anime/Airing/Subtitled/subsPlease';
+ export let hovering = false;
export let hoveredItem: SubsPleaseEpisode | null = null;
export let hoveredMedia: Media | null = null;
export let imageStyle = '';
</script>
-{#if hoveredItem}
+{#if hovering}
<img
class="hover-image show"
src={hoveredMedia
? hoveredMedia.coverImage.extraLarge
- : `https://subsplease.org${hoveredItem.image_url}`}
+ : `https://subsplease.org${hoveredItem?.image_url}`}
alt="Media Cover"
style={imageStyle}
/>
diff --git a/src/lib/Media/hoverCover.ts b/src/lib/Media/hoverCover.ts
index 944ac605..29d2df46 100644
--- a/src/lib/Media/hoverCover.ts
+++ b/src/lib/Media/hoverCover.ts
@@ -2,16 +2,17 @@ import type { Media } from '$lib/AniList/media';
import type { SubsPleaseEpisode } from './Anime/Airing/Subtitled/subsPlease';
interface OnMouseEnterLeave {
+ hovering: boolean;
item: SubsPleaseEpisode | null;
media: Media | null;
}
-export const onMouseEnter = (item: SubsPleaseEpisode, media: Media | null) => {
- return { item, media } as OnMouseEnterLeave;
+export const onMouseEnter = (media: Media | null, item: SubsPleaseEpisode | null = null) => {
+ return { hovering: true, item, media } as OnMouseEnterLeave;
};
export const onMouseLeave = () => {
- return { item: null, media: null } as OnMouseEnterLeave;
+ return { hovering: false, item: null, media: null } as OnMouseEnterLeave;
};
interface OnMouseMove {
diff --git a/src/routes/schedule/+page.svelte b/src/routes/schedule/+page.svelte
index f1d4d92a..9251552d 100644
--- a/src/routes/schedule/+page.svelte
+++ b/src/routes/schedule/+page.svelte
@@ -30,6 +30,7 @@
scheduledMediaPromise = scheduleMediaListCollection(new Date().getFullYear(), season());
});
+ let hovering = false;
let hoveredItem: SubsPleaseEpisode | null = null;
let hoveredMedia: Media | null = null;
let imageStyle = '';
@@ -108,14 +109,16 @@
<li
class="entry"
on:mouseenter={() => {
- const response = onMouseEnter(entry, media);
+ const response = onMouseEnter(media, entry);
+ hovering = response.hovering;
hoveredItem = response.item;
hoveredMedia = response.media;
}}
on:mouseleave={() => {
const response = onMouseLeave();
+ hovering = response.hovering;
hoveredItem = response.item;
hoveredMedia = response.media;
}}
@@ -176,7 +179,7 @@
<Error type="Schedule" loginSessionError={false} />
{/await}
-<HoverCover {hoveredItem} {hoveredMedia} {imageStyle} />
+<HoverCover {hoveredItem} {hoveredMedia} {imageStyle} {hovering} />
<style>
#list-container {