aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List/Anime/rendering.ts
blob: 8a79d74c68f0d195b5de7ffa07ea2c195855f80e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import type { Media } from "$lib/Data/AniList/media";
import { hasDueEpisodes } from "$lib/Media/Anime/Airing/classify";

interface AnimeCoverRenderOptions {
	upcoming: boolean;
	notYetReleased: boolean;
}

export const shouldRenderAnimeCover = (
	media: Media,
	options: AnimeCoverRenderOptions,
): boolean => {
	const progress = media.mediaListEntry?.progress || 0;

	if (options.upcoming || options.notYetReleased) return true;
	if (media.status === "FINISHED") return progress !== media.episodes;

	return hasDueEpisodes(media);
};