diff --git a/src/api/queries/chapters.ts b/src/api/queries/chapters.ts index 4c22666..91a4920 100644 --- a/src/api/queries/chapters.ts +++ b/src/api/queries/chapters.ts @@ -2,6 +2,12 @@ export const GET_RECENTLY_UPDATED = ` query GetRecentlyUpdated { chapters(orderBy: FETCHED_AT, orderByType: DESC, first: 300) { nodes { + id + name + chapterNumber + sourceOrder + isRead + lastPageRead mangaId fetchedAt manga { id title thumbnailUrl inLibrary } @@ -19,4 +25,4 @@ export const GET_CHAPTERS = ` } } } -`; \ No newline at end of file +`; diff --git a/src/features/updates/components/Updates.svelte b/src/features/updates/components/Updates.svelte new file mode 100644 index 0000000..636a290 --- /dev/null +++ b/src/features/updates/components/Updates.svelte @@ -0,0 +1,419 @@ + + +
+
+
+ + Updates +
+ +
+ + {#if loading && updates.length === 0} +
+
+ +
+

Loading updates…

+
+ {:else if error} +
+
+ +
+

Couldn't load updates

+

{error}

+
+ {:else if updates.length === 0} +
+
+ +
+

No recent library updates

+

Run a library update to populate this page.

+
+ {:else} +
+ {#each groups as { label, items }} +
+
+ {label} +
+
+ +
+ {#each items as item (item.id)} + + {/each} +
+
+ {/each} +
+ {/if} +
+ + diff --git a/src/shared/chrome/Layout.svelte b/src/shared/chrome/Layout.svelte index 6c4ec74..19b7c39 100644 --- a/src/shared/chrome/Layout.svelte +++ b/src/shared/chrome/Layout.svelte @@ -10,6 +10,7 @@ import Downloads from "@features/downloads/components/Downloads.svelte"; import Extensions from "@features/extensions/components/Extensions.svelte"; import Tracking from "@features/tracking/components/Tracking.svelte"; + import Updates from "@features/updates/components/Updates.svelte";
@@ -24,6 +25,8 @@ {:else if store.navPage === "library"} + {:else if store.navPage === "updates"} + {:else if store.navPage === "search"} {:else if store.navPage === "history"} @@ -45,4 +48,4 @@ .frame { display: flex; padding: 6px 15px 15px; width: 100%; height: 100%; box-sizing: border-box; overflow: hidden; } .shell { display: flex; flex: 1; border-radius: 14px; overflow: hidden; border: 1px solid var(--border-dim); background: var(--bg-base); background-image: var(--bg-image); min-height: 0; min-width: 0; } .main { flex: 1; overflow: hidden; background: var(--bg-surface); transform: translateZ(0); contain: layout style; min-width: 0; } - \ No newline at end of file + diff --git a/src/shared/chrome/Sidebar.svelte b/src/shared/chrome/Sidebar.svelte index 0fc72d6..25060ae 100644 --- a/src/shared/chrome/Sidebar.svelte +++ b/src/shared/chrome/Sidebar.svelte @@ -1,11 +1,12 @@