diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/ACDB.ts | 18 | ||||
| -rw-r--r-- | src/lib/Tools/CharacterBirthdays.svelte | 24 |
2 files changed, 36 insertions, 6 deletions
diff --git a/src/lib/ACDB.ts b/src/lib/ACDB.ts new file mode 100644 index 00000000..29537fb8 --- /dev/null +++ b/src/lib/ACDB.ts @@ -0,0 +1,18 @@ +export interface ACDBBirthdaysEntry { + character_image: string; + name: string; + origin: string; +} + +export const ACDBBirthdays = async (month: number, day: number): Promise<ACDBBirthdaysEntry[]> => + ( + await ( + await fetch(`/api/acdb-birthdays?month=${month}&day=${day}`, { + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0' + } + }) + ).json() + )['characters']; diff --git a/src/lib/Tools/CharacterBirthdays.svelte b/src/lib/Tools/CharacterBirthdays.svelte index 1ba8f9b9..d1d03ed0 100644 --- a/src/lib/Tools/CharacterBirthdays.svelte +++ b/src/lib/Tools/CharacterBirthdays.svelte @@ -1,17 +1,29 @@ <script> - import { todaysCharacterBirthdays } from '$lib/AniList/character'; + import { ACDBBirthdays } from '$lib/ACDB'; import Error from '$lib/Error.svelte'; + + let date = new Date(); </script> -{#await todaysCharacterBirthdays()} - Loading ... +{#await ACDBBirthdays(date.getMonth() + 1, date.getDate())} + <p>Loading ...</p> {:then birthdays} + <p> + This tool does not use AniList's API, so it will have more characters than AniList, but also + some unexpected characters which may not be present in AniList. + </p> + <div id="characters"> {#each birthdays as birthday} <div> - <a href={`https://anilist.co/character/${birthday.id}`} target="_blank"> - {birthday.name.full} - <img src={birthday.image.large} alt="Character (Large)" class="character-image" /> + <a + href={`https://anilist.co/search/characters?search=${encodeURIComponent( + birthday.name + ).replace(/%20/g, '+')}`} + target="_blank" + > + {birthday.name} + <img src={birthday.character_image} alt="Character (Large)" class="character-image" /> </a> </div> {/each} |