From c94d5a24d50f37a60ceaa9f7acc5bf420229f988 Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.me>
Date: Tue, 26 Sep 2023 17:40:08 -0700
Subject: refactor(anime): completed as component

---
 src/lib/List/WatchingAnimeList.svelte | 59 ++---------------------------------
 1 file changed, 2 insertions(+), 57 deletions(-)

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

diff --git a/src/lib/List/WatchingAnimeList.svelte b/src/lib/List/WatchingAnimeList.svelte
index 069ed5cf..9573b661 100644
--- a/src/lib/List/WatchingAnimeList.svelte
+++ b/src/lib/List/WatchingAnimeList.svelte
@@ -1,15 +1,11 @@
 <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 { cleanCache, totalEpisodes, updateMedia } 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;
@@ -63,55 +59,4 @@
 	};
 </script>
 
-{#await animeLists}
-	<ListTitle custom="Completed Anime" />
-
-	<ul><li>Loading ...</li></ul>
-{:then media}
-	{@const cleanedMedia = cleanMedia(media)}
-
-	<ListTitle count={cleanedMedia.length} time={endTime / 1000} custom="Completed Anime" />
-
-	{#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>
-				{anime.mediaListEntry?.progress || 0}{@html totalEpisodes(anime)}
-				<a
-					href={'#'}
-					on:click={() =>
-						updateMedia(
-							anime.id,
-							anime.mediaListEntry?.progress,
-							() => (animeLists = cleanCache(user, identity))
-						)}>+</a
-				>
-			</li>
-		{/each}
-	</ul>
-{:catch}
-	<ListTitle count="?" time="0" custom="Completed Anime" />
-
-	<Error />
-{/await}
+<AnimeList {endTime} {cleanMedia} {animeLists} {user} {identity} title="Completed Anime" />
-- 
cgit v1.2.3

