diff options
| author | Fuwn <[email protected]> | 2024-01-08 23:02:59 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-08 23:02:59 -0800 |
| commit | 0352a36255fa8bf44dc415b5b0785d1a5b7e860b (patch) | |
| tree | 1ba9509831af8f5225e800b663e024ad676101a6 /src/lib/Tools | |
| parent | feat(discussions): show date (diff) | |
| download | due.moe-0352a36255fa8bf44dc415b5b0785d1a5b7e860b.tar.xz due.moe-0352a36255fa8bf44dc415b5b0785d1a5b7e860b.zip | |
feat(discussions: hover cover
Diffstat (limited to 'src/lib/Tools')
| -rw-r--r-- | src/lib/Tools/EpisodeDiscussionCollector.svelte | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/lib/Tools/EpisodeDiscussionCollector.svelte b/src/lib/Tools/EpisodeDiscussionCollector.svelte index e1ffa8dd..33f63c0e 100644 --- a/src/lib/Tools/EpisodeDiscussionCollector.svelte +++ b/src/lib/Tools/EpisodeDiscussionCollector.svelte @@ -2,9 +2,17 @@ import { threads } from '$lib/AniList/forum'; import { onMount } from 'svelte'; import { clearAllParameters } from '../Utility/parameters'; + import HoverCover from '$lib/Media/Cover/HoverCover.svelte'; + import { + onMouseEnter, + onMouseLeave, + onMouseMove, + type HoverCoverResponse + } from '$lib/Media/Cover/hoverCover'; let searchInput = ''; let searchInputFinal = ''; + let hoverCoverState: HoverCoverResponse = {}; onMount(clearAllParameters); </script> @@ -51,7 +59,31 @@ year: 'numeric' })} </span> - <a href={`https://anilist.co/forum/thread/${thread.id}`} target="_blank"> + <a + href={`https://anilist.co/forum/thread/${thread.id}`} + target="_blank" + on:mouseenter={() => { + if (thread.mediaCategories.length === 0) return; + + const response = onMouseEnter(thread.mediaCategories[0]); + + 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; + }} + > {thread.title.replace('[Spoilers]', '')} </a> </li> @@ -77,3 +109,5 @@ Enter a username to search for to continue. {/if} </div> + +<HoverCover options={hoverCoverState} width={300} /> |