diff options
| author | Fuwn <[email protected]> | 2023-09-07 16:37:30 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-09-07 16:37:30 -0700 |
| commit | 973676e1777ce9c713a5cefe5edf17008f41c17f (patch) | |
| tree | 3ae96a36b71ea7279609a6f2f76cd0ac9aa8bd29 /src/lib | |
| parent | fix(activity): fix anilist provided date (diff) | |
| download | due.moe-973676e1777ce9c713a5cefe5edf17008f41c17f.tar.xz due.moe-973676e1777ce9c713a5cefe5edf17008f41c17f.zip | |
feat(routes): profile page
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/AniList/activity.ts | 2 | ||||
| -rw-r--r-- | src/lib/AniList/user.ts | 46 |
2 files changed, 47 insertions, 1 deletions
diff --git a/src/lib/AniList/activity.ts b/src/lib/AniList/activity.ts index 9d30d275..0d79bf72 100644 --- a/src/lib/AniList/activity.ts +++ b/src/lib/AniList/activity.ts @@ -17,7 +17,7 @@ export const lastActivityDate = async (userIdentity: UserIdentity): Promise<Date }) ).json() )['data']['User']['stats']['activityHistory']; - let date = new Date( + const date = new Date( Number(activityHistory[activityHistory.length - 1]['date']) * 1000 + new Date().getTimezoneOffset() ); diff --git a/src/lib/AniList/user.ts b/src/lib/AniList/user.ts new file mode 100644 index 00000000..dd9995fd --- /dev/null +++ b/src/lib/AniList/user.ts @@ -0,0 +1,46 @@ +export interface User { + name: string; + id: number; + statistics: { + anime: { + count: number; + meanScore: number; + minutesWatched: number; + episodesWatched: number; + }; + manga: { + count: number; + meanScore: number; + chaptersRead: number; + volumesRead: number; + }; + }; +} + +export const user = async (username: string): Promise<User> => { + const userData = ( + await ( + await fetch('https://graphql.anilist.co', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json' + }, + body: JSON.stringify({ + query: `{ User(name: "${username}") { + name id statistics { + anime { + count meanScore minutesWatched episodesWatched + } + manga { + count meanScore chaptersRead volumesRead + } + } + } }` + }) + }) + ).json() + )['data']['User']; + + return userData; +}; |