aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/List/Manga/MangaListTemplate.svelte8
-rw-r--r--src/lib/Media/Manga/chapters.ts14
-rw-r--r--src/routes/settings/+page.svelte16
-rw-r--r--src/stores/settings.ts16
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 @@
<details open id="calculation">
<summary>Calculation</summary>
- <SettingCheckboxToggle setting="roundDownChapters" text="Round down chapters (recommended)">
+ <SettingCheckboxToggle
+ setting="calculateChaptersRoundedDown"
+ text="Round down chapters (recommended)"
+ >
<SettingHint lineBreak>
Round down to the nearest whole number. (e.g., 50/50.6 would <b>not</b> be due)
</SettingHint>
@@ -201,7 +204,7 @@
<br />
<SettingCheckboxToggle
- setting="disableOutOfDateVolumeWarning"
+ setting="calculateDisableOutOfDateVolumeWarning"
text="Disable out-of-date volume warning"
>
<SettingHint lineBreak>
@@ -217,17 +220,20 @@
<br />
- <SettingCheckboxToggle setting="disableGuessing" text="Disable informed chapter estimation">
+ <SettingCheckboxToggle
+ setting="calculateGuessingDisabled"
+ text="Disable informed chapter estimation"
+ >
<SettingHint lineBreak>
Enabling this setting will disable light novel chapter counts and may cause inaccuracy in
unresolved manga and light novel chapter counts
</SettingHint>
</SettingCheckboxToggle>
- {#if !$settings.disableGuessing}
+ {#if !$settings.calculateGuessingDisabled}
<br />
- <select bind:value={$settings.guessMethod} on:change={pruneAllManga}>
+ <select bind:value={$settings.calculateGuessMethod} on:change={pruneAllManga}>
<option value="mode">Mode (fast, moderate to low accuracy)</option>
<option value="median">Median (moderate speed, high accuracy, recommended)</option>
<option value="iqr_median">Interquartile Range with Median (slower, high accuracy)</option>
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,