Files
MangaStatus/frontend/src/components/manga/util.manga.ts
2023-10-08 11:20:02 +02:00

21 lines
781 B
TypeScript

import type {ViewEntry} from '@/components/manga/MangaList.vue';
import type {MangaUpdatesChapter} from '@/data/models/mangaupdates/MangaUpdatesChapter';
export function latestChaptersSorted(entry: ViewEntry): MangaUpdatesChapter[] {
return entry.chapters.sort((l, r) => l.chapter - r.chapter);
}
export function latestChapterString(entry: ViewEntry): string {
if (entry.media?.chapters) {
return '' + entry.media.chapters;
} else if (entry.chapters.length) {
return entry.chapters.reduce((l, r) => Math.max(l, r.chapter), 0) + '+';
}
return '?';
}
export function newChapterCount(entry: ViewEntry): number {
const max = entry.media?.chapters || entry.chapters.reduce((l, r) => Math.max(l, r.chapter), 0);
return Math.max(0, max - entry.entry.progress);
}