From 43da06cf8e8a2343f063c9335d4b27cca59b7f92 Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.me>
Date: Tue, 26 Sep 2023 17:45:50 -0700
Subject: refator(anime): move upcoming to component

---
 src/lib/List/UpcomingAnimeList.svelte | 59 ++++++-----------------------------
 1 file changed, 10 insertions(+), 49 deletions(-)

(limited to 'src/lib/List/UpcomingAnimeList.svelte')

diff --git a/src/lib/List/UpcomingAnimeList.svelte b/src/lib/List/UpcomingAnimeList.svelte
index 9ae6b1bb..b959b290 100644
--- a/src/lib/List/UpcomingAnimeList.svelte
+++ b/src/lib/List/UpcomingAnimeList.svelte
@@ -1,15 +1,10 @@
 <script lang="ts">
-	/* eslint svelte/no-at-html-tags: "off" */
-
 	import { mediaListCollection, Type, type Media } from '$lib/AniList/media';
 	import type { UserIdentity, AniListAuthorisation } from '$lib/AniList/identity';
 	import { onMount } from 'svelte';
 	import anime from '../../stores/anime';
 	import lastPruneTimes from '../../stores/lastPruneTimes';
-	import settings from '../../stores/settings';
-	import { airingTime, cleanCache } from '$lib/Media/anime';
-	import ListTitle from './ListTitle.svelte';
-	import Error from '$lib/Error.svelte';
+	import AnimeList from './AnimeList.svelte';
 
 	export let user: AniListAuthorisation;
 	export let identity: UserIdentity;
@@ -76,46 +71,12 @@
 	};
 </script>
 
-{#await animeLists}
-	<ListTitle custom="Upcoming Episodes" />
-
-	<ul><li>Loading ...</li></ul>
-{:then media}
-	{@const cleanedMedia = cleanMedia(media, displayUnresolved)}
-
-	<ListTitle count={cleanedMedia.length} time={endTime / 1000} custom="Upcoming Episodes" />
-
-	{#if cleanedMedia.length === 0}
-		<ul>
-			<li>
-				No anime to display. <a
-					href={'#'}
-					on:click={() => (animeLists = cleanCache(user, identity))}>Force refresh</a
-				>
-			</li>
-		</ul>
-	{/if}
-
-	<ul>
-		{#each cleanedMedia as anime}
-			<li>
-				<a
-					href={$settings.linkToAniList
-						? `https://anilist.co/anime/${anime.id}`
-						: `https://www.livechart.me/search?q=${
-								anime.title.native || anime.title.english || anime.title.romaji
-						  }`}
-					target="_blank"
-				>
-					{anime.title.english || anime.title.romaji || anime.title.native}
-				</a>
-				<span style="opacity: 50%;">|</span>
-				{@html airingTime(anime, true)}
-			</li>
-		{/each}
-	</ul>
-{:catch}
-	<ListTitle count="?" time="0" custom="Upcoming Episodes" />
-
-	<Error />
-{/await}
+<AnimeList
+	{endTime}
+	{cleanMedia}
+	{animeLists}
+	{user}
+	{identity}
+	{displayUnresolved}
+	title="Upcoming Episodes"
+/>
-- 
cgit v1.2.3

