From e5bb4dd56192cf74b018ba8259e90df4a6d9e41d Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.me>
Date: Sun, 10 Sep 2023 02:01:23 -0700
Subject: refactor(anime): generalise airing time

---
 src/lib/List/UpcomingAnimeList.svelte | 38 ++---------------------------------
 1 file changed, 2 insertions(+), 36 deletions(-)

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

diff --git a/src/lib/List/UpcomingAnimeList.svelte b/src/lib/List/UpcomingAnimeList.svelte
index 679a38d7..7cac01fc 100644
--- a/src/lib/List/UpcomingAnimeList.svelte
+++ b/src/lib/List/UpcomingAnimeList.svelte
@@ -7,6 +7,7 @@
 	import anime from '../../stores/anime';
 	import lastPruneTimes from '../../stores/lastPruneTimes';
 	import settings from '../../stores/settings';
+	import { airingTime } from '$lib/anime';
 
 	export let user: AniListAuthorisation;
 	export let identity: UserIdentity;
@@ -72,41 +73,6 @@
 		return finalMedia;
 	};
 
-	const airingTime = (anime: Media) => {
-		const untilAiring = anime.nextAiringEpisode?.timeUntilAiring;
-		let timeFrame;
-
-		if (untilAiring !== undefined) {
-			let hours = untilAiring / 3600;
-
-			if (hours >= 24) {
-				let weeks = Math.floor(Math.floor(hours / 24) / 7);
-
-				if (weeks >= 1) {
-					weeks = Math.round(weeks);
-
-					timeFrame = `${weeks} week${weeks === 1 ? '' : 's'}`;
-				} else {
-					const days = Math.round(Math.floor(hours / 24));
-
-					timeFrame = `${days} day${days === 1 ? '' : 's'}`;
-				}
-			} else {
-				hours = Math.round(hours);
-
-				timeFrame = `${hours} hour${hours === 1 ? '' : 's'}`;
-			}
-
-			return `${anime.nextAiringEpisode?.episode}${totalEpisodes(anime)} in ${timeFrame}`;
-		}
-
-		return '';
-	};
-
-	const totalEpisodes = (anime: Media) => {
-		return anime.episodes === null ? '' : `<span style="opacity: 50%">/${anime.episodes}</span>`;
-	};
-
 	const cleanCache = () => {
 		animeLists = mediaListCollection(
 			user,
@@ -151,7 +117,7 @@
 					{anime.title.english || anime.title.romaji || anime.title.native}
 				</a>
 				<span style="opacity: 50%;">|</span>
-				{@html airingTime(anime)}
+				{@html airingTime(anime, true)}
 			</li>
 		{/each}
 	</ul>
-- 
cgit v1.2.3

