From 2725f7783c0bb62de6572733c870063028c3e46f Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 12 Nov 2023 20:21:47 -0800 Subject: feat(tools): grid and avatar for birthdays --- src/lib/AniList/character.ts | 11 +++++++++- src/lib/Error.svelte | 10 +++++---- src/routes/tools/+page.svelte | 50 ++++++++++++++++++++++--------------------- 3 files changed, 42 insertions(+), 29 deletions(-) diff --git a/src/lib/AniList/character.ts b/src/lib/AniList/character.ts index 27caef99..1a5cb3c4 100644 --- a/src/lib/AniList/character.ts +++ b/src/lib/AniList/character.ts @@ -3,6 +3,9 @@ export interface Character { full: string; }; id: number; + image: { + large: string; + }; } export interface CharactersPage { @@ -27,7 +30,7 @@ const charactersPage = async (page: number): Promise => }, body: JSON.stringify({ query: `{ Page(page: ${page}, perPage: 50) { - characters(isBirthday: true) { name { full } id } + characters(isBirthday: true) { name { full } id image { large } } pageInfo { hasNextPage currentPage } } }` }) @@ -44,6 +47,9 @@ export const todaysCharacterBirthdays = async (): Promise => { id: character['id'], name: { full: character['name']['full'] + }, + image: { + large: character['image']['large'] } }); } @@ -54,6 +60,9 @@ export const todaysCharacterBirthdays = async (): Promise => { id: character['id'], name: { full: character['name']['full'] + }, + image: { + large: character['image']['large'] } }); } diff --git a/src/lib/Error.svelte b/src/lib/Error.svelte index affbb429..a78fceb4 100644 --- a/src/lib/Error.svelte +++ b/src/lib/Error.svelte @@ -1,10 +1,12 @@ + +
  • - Media could not be loaded. You might have been rate limited. + {type} could not be loaded. You might have been + rate limited.

    Try again in a few minutes. If the problem persists, please contact diff --git a/src/routes/tools/+page.svelte b/src/routes/tools/+page.svelte index 5114efa5..80777c98 100644 --- a/src/routes/tools/+page.svelte +++ b/src/routes/tools/+page.svelte @@ -5,6 +5,7 @@ import { browser } from '$app/environment'; import EpisodeDiscussionCollector from '$lib/Tools/EpisodeDiscussionCollector.svelte'; import { onMount } from 'svelte'; + import Error from '$lib/Error.svelte'; export let data; @@ -51,36 +52,37 @@ {:else if tool === 'episode_discussion_collector'} {:else if tool === 'todays_character_birthdays'} -

      - {#await todaysCharacterBirthdays()} -
    • Loading ...
    • - {:then birthdays} + {#await todaysCharacterBirthdays()} + Loading ... + {:then birthdays} +
      {#each birthdays as birthday} -
    • - {birthday.name.full} -
    • + {/each} - {:catch} -
    • -

      - Characters could not be loaded. You might have been rate limited. -

      -

      - Try again in a few minutes. If the problem persists, please contact - @fuwn on AniList. -

      -
    • - {/await} -
    + + {:catch} + + {/await} {/if} -- cgit v1.2.3