From af29cffdffdcd06c2535e22a19b6f22950bd13d8 Mon Sep 17 00:00:00 2001 From: Youwes09 Date: Sat, 11 Apr 2026 09:34:22 -0500 Subject: [PATCH] Feat: Check for Updates (WIP) & Toaster Design Changes --- Todo | 10 +- src/components/chrome/Toaster.svelte | 23 ++-- src/components/pages/Home.svelte | 70 +++++----- src/components/pages/Library.svelte | 159 +++++++++++++++++++++- src/components/series/SeriesDetail.svelte | 8 ++ src/components/settings/Settings.svelte | 65 +++++++-- src/components/shared/MangaPreview.svelte | 10 ++ src/lib/queries.ts | 47 +++++++ src/store/state.svelte.ts | 44 +++++- 9 files changed, 355 insertions(+), 81 deletions(-) diff --git a/Todo b/Todo index 5d00593..656373c 100644 --- a/Todo +++ b/Todo @@ -12,13 +12,11 @@ Minor Revisions: - Patch Color-Picker to Work Properly - Integrate Download Directory Changes (Settings) + + Priority Bugs: - - Cache ALL Cover Pictures & Details for Manga in Library - Fix Library Build not Updating - - Check Auth System (Only Supports Basic-Auth) - Loading Buffer for Pictures (Due to Auth Lag) - - Create Option for Saved in Library to Respect Default Constraints - - Additionally, Added Folders are Displayed in Suwayomi, but not registered in Suwayomi General/Misc Bugs: @@ -32,8 +30,8 @@ General/Misc Bugs: In-Progress: - Enable Cloudflare Bypass (Suwayomi Config) (Requires Patching) - - Add Scanlator Filtering -> Pass to Reader - - Automations need to work in Reader (Auto-Delete does not) + - Saved needs Reading Frecency-Based Display too. + - Check-For-Updates needs Visual Display of Activation diff --git a/src/components/chrome/Toaster.svelte b/src/components/chrome/Toaster.svelte index 9fa678f..1375d29 100644 --- a/src/components/chrome/Toaster.svelte +++ b/src/components/chrome/Toaster.svelte @@ -63,7 +63,7 @@

{t.title}

- {#if t.body}

{t.body}

{/if} +

{t.body ?? '\u00a0'}

{/each} @@ -78,22 +78,21 @@ z-index: 9999; display: flex; flex-direction: column; - gap: 6px; + gap: 5px; pointer-events: none; - max-width: 300px; } .toast { display: flex; align-items: center; - gap: var(--sp-2); - padding: 10px var(--sp-3) 10px 0; + gap: 10px; + padding: 12px var(--sp-3) 12px 0; border-radius: var(--radius-md); background: var(--bg-raised); border: 1px solid var(--border-dim); box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.04) inset; pointer-events: all; - min-width: 200px; + width: 280px; overflow: hidden; cursor: pointer; font-family: inherit; @@ -126,7 +125,7 @@ @keyframes slideOut { 0% { opacity: 1; transform: translateX(0) scale(1); max-height: var(--exit-h, 80px); margin-bottom: 0; } 40% { opacity: 0; transform: translateX(14px) scale(0.96); max-height: var(--exit-h, 80px); margin-bottom: 0; } - 100% { opacity: 0; transform: translateX(14px) scale(0.96); max-height: 0; margin-bottom: -6px; } + 100% { opacity: 0; transform: translateX(14px) scale(0.96); max-height: 0; margin-bottom: -5px; } } .accent-bar { @@ -134,7 +133,7 @@ align-self: stretch; flex-shrink: 0; border-radius: 0 2px 2px 0; - margin-right: 2px; + margin-right: 0; } .toast-success .accent-bar { background: var(--accent-fg); } @@ -159,7 +158,7 @@ min-width: 0; display: flex; flex-direction: column; - gap: 1px; + gap: 3px; } .title { @@ -168,7 +167,10 @@ color: var(--text-secondary); font-weight: var(--weight-medium); letter-spacing: var(--tracking-wide); - line-height: 1.3; + line-height: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .sub { @@ -176,6 +178,7 @@ font-size: var(--text-2xs); color: var(--text-faint); letter-spacing: var(--tracking-wide); + line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; diff --git a/src/components/pages/Home.svelte b/src/components/pages/Home.svelte index 3cd4b74..81c6919 100644 --- a/src/components/pages/Home.svelte +++ b/src/components/pages/Home.svelte @@ -1,12 +1,12 @@