From 6db01f7f9f3c064dbebcdfb86e22db2be1e1bd80 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Wed, 14 May 2025 14:31:43 -0400 Subject: [PATCH] added tags to frontend anime item --- .../types/AniListCurrentUserWatchListType.ts | 159 +- frontend/src/helperComponents/Anime.svelte | 1519 +++++++++-------- wails.json | 2 +- 3 files changed, 879 insertions(+), 801 deletions(-) diff --git a/frontend/src/anilist/types/AniListCurrentUserWatchListType.ts b/frontend/src/anilist/types/AniListCurrentUserWatchListType.ts index f48fed8..25ad6f5 100644 --- a/frontend/src/anilist/types/AniListCurrentUserWatchListType.ts +++ b/frontend/src/anilist/types/AniListCurrentUserWatchListType.ts @@ -1,80 +1,93 @@ export interface AniListCurrentUserWatchList { - data: { - Page: { - pageInfo: { - total: number - perPage: number - currentPage: number - lastPage: number - hasNextPage: boolean - }, - mediaList: MediaList[] - } - } + data: { + Page: { + pageInfo: { + total: number; + perPage: number; + currentPage: number; + lastPage: number; + hasNextPage: boolean; + }; + mediaList: MediaList[]; + }; + }; } export interface AniListGetSingleAnime { - data: { - MediaList: MediaList - } + data: { + MediaList: MediaList; + }; } export interface MediaList { - id: number - mediaId: number - userId: number - media: { - id: number - idMal: number - title: { - romaji: string - english?: string - native: string - } - description: string - coverImage: { - large: string - } - season: string - seasonYear: number - status: string - episodes?: number - nextAiringEpisode?: { - airingAt: number - timeUntilAiring: number - episode: number - } - } - status: string - startedAt: { - year: number - month: number - day: number - } - completedAt: { - year?: number - month?: number - day?: number - } - notes?: string - progress: number - score: number - repeat: number - user: { - id: number - name: string - avatar: { - large: string - medium: string - } - statistics: { - anime: { - count: number - statuses: [{ - status: string - count: number - }] - } - } - } -} \ No newline at end of file + id: number; + mediaId: number; + userId: number; + media: { + id: number; + idMal: number; + title: { + romaji: string; + english?: string; + native: string; + }; + description: string; + coverImage: { + large: string; + }; + season: string; + seasonYear: number; + status: string; + episodes?: number; + nextAiringEpisode?: { + airingAt: number; + timeUntilAiring: number; + episode: number; + }; + tags: [ + { + id: number; + name: string; + description: string; + rank: number; + isMediaSpoiler: boolean; + isAdult: boolean; + }, + ]; + isAdult: boolean; + }; + status: string; + startedAt: { + year: number; + month: number; + day: number; + }; + completedAt: { + year?: number; + month?: number; + day?: number; + }; + notes?: string; + progress: number; + score: number; + repeat: number; + user: { + id: number; + name: string; + avatar: { + large: string; + medium: string; + }; + statistics: { + anime: { + count: number; + statuses: [ + { + status: string; + count: number; + }, + ]; + }; + }; + }; +} diff --git a/frontend/src/helperComponents/Anime.svelte b/frontend/src/helperComponents/Anime.svelte index 2da4d7d..a70d4d8 100644 --- a/frontend/src/helperComponents/Anime.svelte +++ b/frontend/src/helperComponents/Anime.svelte @@ -1,269 +1,129 @@
-

- {title} -

-
-
- {title} Cover Image - -
- -
-
-
- -
- - + {title} + +
+
+ {title} Cover Image - -
-
- / {currentAniListAnime.data.MediaList.media.nextAiringEpisode - .episode !== 0 - ? currentAniListAnime.data.MediaList.media.nextAiringEpisode - .episode - 1 - : currentAniListAnime.data.MediaList.media.episodes} -
- {#if currentAniListAnime.data.MediaList.media.nextAiringEpisode.episode !== 0} -
- of {currentAniListAnime.data.MediaList.media.episodes} -
- {/if} +
-
- - + +
+
+ / {currentAniListAnime.data.MediaList.media + .nextAiringEpisode.episode !== 0 + ? currentAniListAnime.data.MediaList.media + .nextAiringEpisode.episode - 1 + : currentAniListAnime.data.MediaList.media.episodes} +
+ {#if currentAniListAnime.data.MediaList.media.nextAiringEpisode.episode !== 0} +
+ of {currentAniListAnime.data.MediaList.media + .episodes} +
+ {/if} +
+
+ + + bind:value={startingAnilistStatusOption} + > + {#each statusOptions as option} + + {/each} + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
-
-
-
- - -
-
- - -
-
- - -
-
-
-
- - -
-
- -
-
- - + + on:click={async () => { + await CheckIfAniListLoggedInAndLoadWatchList(); + return push("/"); + }} + > + Go Home + +
- - + -
-
- -
-
- +
+
- - - - Sync Changes - - + + on:click={async () => { + await CheckIfAniListLoggedInAndLoadWatchList(); + return push("/"); + }} + > + Go Home + +
- -
-

Summary

-

{@html currentAniListAnime.data.MediaList.media.description}

-
+
+
+

Tags

+
+ {#each currentAniListAnime.data.MediaList.media.tags as tag} +
+ {tag.name} +
+ {/each} +
+
+ +
+

Summary

+

+ {@html currentAniListAnime.data.MediaList.media.description} +

+
+
diff --git a/wails.json b/wails.json index 72c0784..2fa6388 100644 --- a/wails.json +++ b/wails.json @@ -12,6 +12,6 @@ }, "info": { "productName": "AniTrack", - "productVersion": "0.1.8" + "productVersion": "0.1.9" } }