aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-09-07 16:37:30 -0700
committerFuwn <[email protected]>2023-09-07 16:37:30 -0700
commit973676e1777ce9c713a5cefe5edf17008f41c17f (patch)
tree3ae96a36b71ea7279609a6f2f76cd0ac9aa8bd29 /src/lib
parentfix(activity): fix anilist provided date (diff)
downloaddue.moe-973676e1777ce9c713a5cefe5edf17008f41c17f.tar.xz
due.moe-973676e1777ce9c713a5cefe5edf17008f41c17f.zip
feat(routes): profile page
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/AniList/activity.ts2
-rw-r--r--src/lib/AniList/user.ts46
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;
+};