aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Media/hoverCover.ts
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-02 02:14:22 -0800
committerFuwn <[email protected]>2024-01-02 02:14:22 -0800
commit1bf5e3fe55defe95114c9df69b62cc1b40761a0b (patch)
treec8f1269696769201156799bb136dd06243270bda /src/lib/Media/hoverCover.ts
parentfix(hovercover): no hover null (diff)
downloaddue.moe-1bf5e3fe55defe95114c9df69b62cc1b40761a0b.tar.xz
due.moe-1bf5e3fe55defe95114c9df69b62cc1b40761a0b.zip
refactor(media): move hover cover
Diffstat (limited to 'src/lib/Media/hoverCover.ts')
-rw-r--r--src/lib/Media/hoverCover.ts52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/lib/Media/hoverCover.ts b/src/lib/Media/hoverCover.ts
deleted file mode 100644
index d5839fa9..00000000
--- a/src/lib/Media/hoverCover.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import type { Media } from '$lib/AniList/media';
-import { get } from 'svelte/store';
-import type { SubsPleaseEpisode } from './Anime/Airing/Subtitled/subsPlease';
-import settings from '$stores/settings';
-
-interface OnMouseEnterLeave {
- hovering: boolean;
- item: SubsPleaseEpisode | null;
- media: Media | null;
-}
-
-export const onMouseEnter = (media: Media | null, item: SubsPleaseEpisode | null = null) => {
- if (!get(settings).displayHoverCover && !item)
- return { hovering: false, item: null, media: null } as OnMouseEnterLeave;
-
- return { hovering: true, item, media } as OnMouseEnterLeave;
-};
-
-export const onMouseLeave = () => {
- return { hovering: false, item: null, media: null } as OnMouseEnterLeave;
-};
-
-interface OnMouseMove {
- height: number;
- style: string;
-}
-
-export const onMouseMove = (event: MouseEvent, imageWidth = 300) => {
- const offset = 10;
- let imageLeft = 0;
- let imageTop = 0;
- const image = document.getElementsByClassName('hover-image')[0] as HTMLImageElement;
- const response: OnMouseMove = {
- height: 0,
- style: ''
- };
-
- if (image) {
- image.onload = () => (response.height = image.height);
- imageLeft =
- event.pageX + imageWidth + offset > window.innerWidth
- ? event.pageX - imageWidth - offset
- : event.pageX + offset;
- imageTop =
- event.pageY + response.height + offset > window.innerHeight
- ? event.pageY - response.height
- : event.pageY + offset;
- response.style = `top: ${imageTop}px; left: ${imageLeft}px;`;
- }
-
- return response;
-};