From 6ed5fe8b71a7d9cb6585da48f70332a4116e53de Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Sat, 21 Mar 2026 13:25:45 -0400 Subject: [PATCH] feat: improve WatchList UI with refresh button Enhanced the WatchList component with better layout and manual refresh functionality. Changes: - Added Refresh WatchList button with loading state handling - Restructured header layout using flexbox with justify-between - Title on left, refresh button on right, vertically aligned with items-center - Improved button styling with consistent py-2 px-4 padding - Added CheckIfAniListLoggedInAndLoadWatchList import for refresh functionality - Maintained mb-4 spacing for consistent vertical rhythm This gives users manual control over watchlist updates and provides better visual balance to the header section. UI improvements: - Horizontal flex container for proper left/right alignment - Responsive button sizing - Clear visual separation between title and action --- .../src/helperComponents/WatchList.svelte | 149 +++++++++++------- 1 file changed, 90 insertions(+), 59 deletions(-) diff --git a/frontend/src/helperComponents/WatchList.svelte b/frontend/src/helperComponents/WatchList.svelte index e15f229..f6636ac 100644 --- a/frontend/src/helperComponents/WatchList.svelte +++ b/frontend/src/helperComponents/WatchList.svelte @@ -1,68 +1,99 @@
- {#if isAniListLoggedIn} -
-

Your AniList WatchList

+ {#if isAniListLoggedIn} +
+
+

Your AniList WatchList

+ +
-
- {#each aniListWatchListLoaded.data.Page.mediaList as media} -
-
- - - -

{media.progress} - / {media.media.nextAiringEpisode.episode !== 0 ? - media.media.nextAiringEpisode.episode - 1 : media.media.episodes}

- {#if media.media.episodes > 0} -

Total - Episodes: {media.media.episodes}

- {/if} -
-
- {/each} +
+ {#each aniListWatchListLoaded.data.Page.mediaList as media} +
+
+ + + +

+ {media.progress} + / {media.media.nextAiringEpisode.episode !== 0 + ? media.media.nextAiringEpisode.episode - 1 + : media.media.episodes} +

+ {#if media.media.episodes > 0} +

+ Total Episodes: {media.media.episodes} +

+ {/if}
-
- {/if} +
+ {/each} +
+
+ {/if}