Feature/gql remove download ahead limit (#608)

* Use new "autoDownloadNewChaptersLimit" setting

* Use "downloadAheadLimit" from metadata

Should have been changed with 2acf2b6d33
This commit is contained in:
schroda
2024-02-17 20:24:02 +01:00
committed by GitHub
parent fd651b6165
commit e5ffbb462c
4 changed files with 20 additions and 16 deletions

View File

@@ -106,8 +106,10 @@ export function Reader() {
const { data: chapterData, loading: isChapterLoading } = requestManager.useGetMangaChapter(mangaId, chapterIndex);
const arePagesUpdatedRef = useRef(false);
const { data: settingsData } = requestManager.useGetServerSettings();
const isDownloadAheadEnabled = !!settingsData?.settings.autoDownloadAheadLimit;
const {
settings: { downloadAheadLimit },
} = useMetadataServerSettings();
const isDownloadAheadEnabled = !!downloadAheadLimit;
const getLoadedChapter = () => {
const isAChapterLoaded = loadedChapter.current;
@@ -234,7 +236,7 @@ export function Reader() {
const chapterIdsToDownload = nextChaptersUpToDate
// "settingsData" can't be undefined since this would not get executed otherwise
.slice(-settingsData!.settings.autoDownloadAheadLimit)
.slice(-downloadAheadLimit)
.filter((mangaChapter) => !mangaChapter.isDownloaded)
.map((mangaChapter) => mangaChapter.id)
.filter((id) => !Chapters.isDownloading(id));

View File

@@ -28,7 +28,7 @@ type DownloadSettingsType = Pick<
| 'downloadAsCbz'
| 'downloadsPath'
| 'autoDownloadNewChapters'
| 'autoDownloadAheadLimit'
| 'autoDownloadNewChaptersLimit'
| 'excludeEntryWithUnreadChapters'
>;
@@ -36,7 +36,7 @@ const extractDownloadSettings = (settings: ServerSettings): DownloadSettingsType
downloadAsCbz: settings.downloadAsCbz,
downloadsPath: settings.downloadsPath,
autoDownloadNewChapters: settings.autoDownloadNewChapters,
autoDownloadAheadLimit: settings.autoDownloadAheadLimit,
autoDownloadNewChaptersLimit: settings.autoDownloadNewChaptersLimit,
excludeEntryWithUnreadChapters: settings.excludeEntryWithUnreadChapters,
});
@@ -148,15 +148,15 @@ export const DownloadSettings = () => {
disabled={!downloadSettings?.autoDownloadNewChapters}
settingTitle={t('download.settings.auto_download.download_limit.label.title')}
dialogDescription={t('download.settings.auto_download.download_limit.label.description')}
value={downloadSettings?.autoDownloadAheadLimit ?? 0}
value={downloadSettings?.autoDownloadNewChaptersLimit ?? 0}
settingValue={
// eslint-disable-next-line no-nested-ternary
downloadSettings?.autoDownloadAheadLimit !== undefined
? !downloadSettings.autoDownloadAheadLimit
downloadSettings?.autoDownloadNewChaptersLimit !== undefined
? !downloadSettings.autoDownloadNewChaptersLimit
? t('global.label.none')
: t('download.settings.download_ahead.label.value', {
chapters: downloadSettings.autoDownloadAheadLimit,
count: downloadSettings.autoDownloadAheadLimit,
chapters: downloadSettings.autoDownloadNewChaptersLimit,
count: downloadSettings.autoDownloadNewChaptersLimit,
})
: undefined
}
@@ -165,7 +165,9 @@ export const DownloadSettings = () => {
maxValue={20}
showSlider
valueUnit={t('chapter.title')}
handleUpdate={(downloadAheadLimit) => updateSetting('autoDownloadAheadLimit', downloadAheadLimit)}
handleUpdate={(autoDownloadNewChaptersLimit) =>
updateSetting('autoDownloadNewChaptersLimit', autoDownloadNewChaptersLimit)
}
/>
<ListItem disabled={!downloadSettings?.autoDownloadNewChapters}>
<ListItemText primary={t('download.settings.auto_download.label.ignore_with_unread_chapters')} />