From 5ba4e5c625a7d582ff124044149fd5d8355209a7 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 14 Sep 2023 14:37:17 -0700 Subject: refactor(manga): rename from mangadex --- src/lib/List/Due/MangaList.svelte | 2 +- src/lib/manga.ts | 69 +++++++++++++++++++++++++++++++++++++++ src/lib/mangadex.ts | 69 --------------------------------------- 3 files changed, 70 insertions(+), 70 deletions(-) create mode 100644 src/lib/manga.ts delete mode 100644 src/lib/mangadex.ts (limited to 'src/lib') diff --git a/src/lib/List/Due/MangaList.svelte b/src/lib/List/Due/MangaList.svelte index e13a4747..bc152e27 100644 --- a/src/lib/List/Due/MangaList.svelte +++ b/src/lib/List/Due/MangaList.svelte @@ -2,7 +2,7 @@ import { mediaListCollection, Type, type Media } from '$lib/AniList/media'; import type { UserIdentity, AniListAuthorisation } from '$lib/AniList/identity'; import { onDestroy, onMount } from 'svelte'; - import { chapterCount } from '$lib/mangadex'; + import { chapterCount } from '$lib/manga'; import manga from '../../../stores/manga'; import { chapterDatabase } from '$lib/chapterDatabase'; import settings from '../../../stores/settings'; diff --git a/src/lib/manga.ts b/src/lib/manga.ts new file mode 100644 index 00000000..5c73aced --- /dev/null +++ b/src/lib/manga.ts @@ -0,0 +1,69 @@ +import { recentMediaActivities, type Media } from '$lib/AniList/media'; +import type { UserIdentity } from './AniList/identity'; +import { chapterDatabase } from './chapterDatabase'; + +export const chapterCount = async ( + identity: UserIdentity, + manga: Media, + preferActivity = false +): Promise => { + const chapters = await chapterDatabase.chapters.get(manga.id); + + if (chapters !== undefined) { + return chapters.chapters === -1 ? null : chapters.chapters; + } + + if (preferActivity) { + return await recentMediaActivities(identity, manga); + } + + const tryRecentMediaActivities = async () => { + const anilistData = await recentMediaActivities(identity, manga); + + await chapterDatabase.chapters.put({ + id: manga.id, + chapters: anilistData ? anilistData : -1 + }); + + return anilistData; + }; + + const mangadexData = await ( + await fetch( + `/api/mangadex/manga?english=${manga.title.english}&year=${manga.startDate.year}&romaji=${manga.title.romaji}&native=${manga.title.native}` + ) + ).json(); + + if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) { + return await tryRecentMediaActivities(); + } + + const lastChapterData = await ( + await fetch(`/api/mangadex/feed?id=${mangadexData['data'][0]['id']}`) + ).json(); + + if (lastChapterData['data'] === undefined || lastChapterData['data'].length === 0) { + return await tryRecentMediaActivities(); + } + + let lastChapter = lastChapterData['data'][0]['attributes']['chapter']; + + if ((manga.mediaListEntry || { progress: 0 }).progress > lastChapter) { + const anilistData = await recentMediaActivities(identity, manga); + + if (anilistData !== null && anilistData > lastChapter) { + lastChapter = anilistData; + } + } + + if (lastChapter == 0) { + lastChapter = -1; + } + + await chapterDatabase.chapters.put({ + id: manga.id, + chapters: Number(lastChapter) + }); + + return Number(lastChapter); +}; diff --git a/src/lib/mangadex.ts b/src/lib/mangadex.ts deleted file mode 100644 index 5c73aced..00000000 --- a/src/lib/mangadex.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { recentMediaActivities, type Media } from '$lib/AniList/media'; -import type { UserIdentity } from './AniList/identity'; -import { chapterDatabase } from './chapterDatabase'; - -export const chapterCount = async ( - identity: UserIdentity, - manga: Media, - preferActivity = false -): Promise => { - const chapters = await chapterDatabase.chapters.get(manga.id); - - if (chapters !== undefined) { - return chapters.chapters === -1 ? null : chapters.chapters; - } - - if (preferActivity) { - return await recentMediaActivities(identity, manga); - } - - const tryRecentMediaActivities = async () => { - const anilistData = await recentMediaActivities(identity, manga); - - await chapterDatabase.chapters.put({ - id: manga.id, - chapters: anilistData ? anilistData : -1 - }); - - return anilistData; - }; - - const mangadexData = await ( - await fetch( - `/api/mangadex/manga?english=${manga.title.english}&year=${manga.startDate.year}&romaji=${manga.title.romaji}&native=${manga.title.native}` - ) - ).json(); - - if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) { - return await tryRecentMediaActivities(); - } - - const lastChapterData = await ( - await fetch(`/api/mangadex/feed?id=${mangadexData['data'][0]['id']}`) - ).json(); - - if (lastChapterData['data'] === undefined || lastChapterData['data'].length === 0) { - return await tryRecentMediaActivities(); - } - - let lastChapter = lastChapterData['data'][0]['attributes']['chapter']; - - if ((manga.mediaListEntry || { progress: 0 }).progress > lastChapter) { - const anilistData = await recentMediaActivities(identity, manga); - - if (anilistData !== null && anilistData > lastChapter) { - lastChapter = anilistData; - } - } - - if (lastChapter == 0) { - lastChapter = -1; - } - - await chapterDatabase.chapters.put({ - id: manga.id, - chapters: Number(lastChapter) - }); - - return Number(lastChapter); -}; -- cgit v1.2.3