From 552a11a517e57257b6cfa4ad250d1e069a39da32 Mon Sep 17 00:00:00 2001 From: Youwes09 Date: Thu, 30 Apr 2026 22:42:59 -0500 Subject: [PATCH] Feat: Library-Refresh Overhaul & Settings Re-Wiring --- src/api/queries/downloads.ts | 2 +- src/features/home/components/HeroStage.svelte | 6 ++ src/features/home/components/Home.svelte | 8 +- src/features/home/lib/recommendations.ts | 65 ++++++++----- .../library/components/Library.svelte | 49 +++++++++- .../library/components/LibraryToolbar.svelte | 92 ++++++++++++------- .../settings/sections/FoldersSettings.svelte | 31 ++++++- .../settings/sections/StorageSettings.svelte | 11 ++- .../settings/sections/TrackingSettings.svelte | 27 +++++- src/features/tracking/lib/trackingSync.ts | 13 ++- 10 files changed, 230 insertions(+), 74 deletions(-) diff --git a/src/api/queries/downloads.ts b/src/api/queries/downloads.ts index 4893b45..96ed7b7 100644 --- a/src/api/queries/downloads.ts +++ b/src/api/queries/downloads.ts @@ -3,7 +3,7 @@ export const GET_DOWNLOAD_STATUS = ` downloadStatus { state queue { - progress state + progress state tries chapter { id name pageCount mangaId manga { id title thumbnailUrl } diff --git a/src/features/home/components/HeroStage.svelte b/src/features/home/components/HeroStage.svelte index 2c83e58..6b5efdd 100644 --- a/src/features/home/components/HeroStage.svelte +++ b/src/features/home/components/HeroStage.svelte @@ -21,6 +21,7 @@ heroEntry, heroMangaId, heroChapters, + heroNewChapter, loadingHeroChapters, resuming, onresume, @@ -40,6 +41,7 @@ heroEntry: HistoryEntry | null; heroMangaId: number | null; heroChapters: Chapter[]; + heroNewChapter: Chapter | null; loadingHeroChapters: boolean; resuming: boolean; onresume: () => void; @@ -102,6 +104,9 @@ {:else} Pinned {/if} + {#if heroNewChapter && !heroNewChapter.isRead} + New ch.{Math.floor(heroNewChapter.chapterNumber)} + {/if} {#each (heroManga?.genre ?? []).slice(0, 3) as g} {#if dragInsertIdx === idx + 1 && activeDragKind === "tab" && idx === visibleCategories.length - 1} @@ -128,19 +147,27 @@ onSearchChange((e.target as HTMLInputElement).value)} /> - + {#if refreshing} + + {:else} + + {/if}