From 96d160b9bde2179d24f2f65676365e151d10f1f2 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 17 Dec 2023 18:23:47 -0800 Subject: feat(settings): rename calculation options --- src/lib/List/Manga/MangaListTemplate.svelte | 8 +++++--- src/lib/Media/Manga/chapters.ts | 14 +++++++++++--- src/routes/settings/+page.svelte | 16 +++++++++++----- src/stores/settings.ts | 16 ++++++++-------- 4 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/lib/List/Manga/MangaListTemplate.svelte b/src/lib/List/Manga/MangaListTemplate.svelte index 5fdb2bf5..9a66ad4a 100644 --- a/src/lib/List/Manga/MangaListTemplate.svelte +++ b/src/lib/List/Manga/MangaListTemplate.svelte @@ -74,14 +74,14 @@ const progressStep = 100 / finalMedia.length; const chapterPromises = finalMedia.map((m: Media) => chapterDatabase.chapters.get(m.id).then((c) => { - if (c !== undefined) return chapterCount(identity, m, $settings.disableGuessing); + if (c !== undefined) return chapterCount(identity, m, $settings.calculateGuessingDisabled); else { // A = On 1 second interval, // B = a maximum of 5 requests per second are allowed. // C = chapterCount makes 3 requests per call. // F = A / (B / C) = 0.6 seconds return new Promise((resolve) => setTimeout(resolve, 600)).then(() => - chapterCount(identity, m, $settings.disableGuessing) + chapterCount(identity, m, $settings.calculateGuessingDisabled) ); } }) @@ -119,7 +119,9 @@ (item.episodes === -1337 && displayUnresolved ? true : (item.mediaListEntry?.progress || 0) < - ($settings.roundDownChapters === true ? Math.floor(item.episodes) : item.episodes)) + ($settings.calculateChaptersRoundedDown === true + ? Math.floor(item.episodes) + : item.episodes)) ); if (!endTime || endTime === -1) endTime = performance.now() - startTime; diff --git a/src/lib/Media/Manga/chapters.ts b/src/lib/Media/Manga/chapters.ts index a8ce1f91..c9e33c48 100644 --- a/src/lib/Media/Manga/chapters.ts +++ b/src/lib/Media/Manga/chapters.ts @@ -20,7 +20,11 @@ export const chapterCount = async ( const tryRecentMediaActivities = async () => { if (disableGuessing) return null; - const anilistData = await recentMediaActivities(identity, manga, settings.get().guessMethod); + const anilistData = await recentMediaActivities( + identity, + manga, + settings.get().calculateGuessMethod + ); await chapterDatabase.chapters.put({ id: manga.id, @@ -58,12 +62,16 @@ export const chapterCount = async ( let completedVolumes = null; if ((manga.mediaListEntry || { progress: 0 }).progress > lastChapter) { - const anilistData = await recentMediaActivities(identity, manga, settings.get().guessMethod); + const anilistData = await recentMediaActivities( + identity, + manga, + settings.get().calculateGuessMethod + ); if (anilistData !== null && anilistData > lastChapter) lastChapter = anilistData; } - if (!settings.get().disableOutOfDateVolumeWarning) { + if (!settings.get().calculateDisableOutOfDateVolumeWarning) { const volumeOfChapterDataResponse = await fetch( `/api/mangadex/chapter?id=${mangadexId}&chapter=${manga.mediaListEntry?.progress}` ); diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte index b85fcc9e..04d02739 100644 --- a/src/routes/settings/+page.svelte +++ b/src/routes/settings/+page.svelte @@ -192,7 +192,10 @@
Calculation - + Round down to the nearest whole number. (e.g., 50/50.6 would not be due) @@ -201,7 +204,7 @@
@@ -217,17 +220,20 @@
- + Enabling this setting will disable light novel chapter counts and may cause inaccuracy in unresolved manga and light novel chapter counts - {#if !$settings.disableGuessing} + {#if !$settings.calculateGuessingDisabled}
- diff --git a/src/stores/settings.ts b/src/stores/settings.ts index ead37422..7463a9cd 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -9,17 +9,17 @@ export interface Settings { displayMangaCollapsed: boolean; displayNotStarted: boolean; displayUnresolved: boolean; - roundDownChapters: boolean; + calculateChaptersRoundedDown: boolean; displaySortedByDifference: boolean; displayOutboundLinksTo: 'anilist' | 'livechartme' | 'animeschedule' | 'myanimelist'; displayPausedMedia: boolean; displayLimitListHeight: boolean; displaySocialButton: boolean; - disableGuessing: boolean; + calculateGuessingDisabled: boolean; displayHoverNavigation: boolean; displayNativeTitles: boolean; - guessMethod: 'median' | 'iqr_median' | 'iqr_mode' | 'mode'; - disableOutOfDateVolumeWarning: boolean; + calculateGuessMethod: 'median' | 'iqr_median' | 'iqr_mode' | 'mode'; + calculateDisableOutOfDateVolumeWarning: boolean; displayPlannedAnime: boolean; displayFurigana: boolean; displayAoButa: 'mai' | 'nodoka' | 'kaede' | 'none'; @@ -56,10 +56,10 @@ const defaultSettings: Settings = { displayNativeCountdown: false, // Calculation - roundDownChapters: true, - disableOutOfDateVolumeWarning: false, - disableGuessing: false, - guessMethod: 'median', + calculateChaptersRoundedDown: true, + calculateDisableOutOfDateVolumeWarning: false, + calculateGuessingDisabled: false, + calculateGuessMethod: 'median', // Cache cacheMangaMinutes: 120, -- cgit v1.2.3