aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ACDB.ts18
-rw-r--r--src/lib/Tools/CharacterBirthdays.svelte24
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}