diff options
Diffstat (limited to 'src/lib/AniList/wrapped.ts')
| -rw-r--r-- | src/lib/AniList/wrapped.ts | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/lib/AniList/wrapped.ts b/src/lib/AniList/wrapped.ts index 4bee8bbb..00ae0acc 100644 --- a/src/lib/AniList/wrapped.ts +++ b/src/lib/AniList/wrapped.ts @@ -45,7 +45,11 @@ export interface Wrapped { }; } -const profileActivities = async (user: AniListAuthorisation, identity: UserIdentity) => { +const profileActivities = async ( + user: AniListAuthorisation, + identity: UserIdentity, + now = Date.now() +) => { const get = async (page: number) => await ( await fetch('https://graphql.anilist.co', { @@ -79,6 +83,7 @@ const profileActivities = async (user: AniListAuthorisation, identity: UserIdent const pages = []; let page = 1; let response = await get(page); + const yearInSeconds = 31556952; pages.push(response['data']['Page']['activities']); @@ -94,21 +99,25 @@ const profileActivities = async (user: AniListAuthorisation, identity: UserIdent .flat() .filter( (activity) => - activity.type == 'TEXT' && activity.createdAt > Math.floor(Date.now() / 1000) - 31556952 + activity.type == 'TEXT' && + activity.createdAt > Math.floor(now / 1000) - yearInSeconds && + activity.createdAt < Math.floor(now / 1000) ).length, messageCount: pages .flat() .filter( (activity) => activity.type == 'MESSAGE' && - activity.createdAt > Math.floor(Date.now() / 1000) - 31556952 + activity.createdAt > Math.floor(now / 1000) - yearInSeconds && + activity.createdAt < Math.floor(now / 1000) ).length }; }; export const wrapped = async ( anilistAuthorisation: AniListAuthorisation, - identity: UserIdentity + identity: UserIdentity, + year = new Date().getFullYear() ): Promise<Wrapped> => { const wrappedResponse = await ( await fetch('https://graphql.anilist.co', { @@ -139,7 +148,11 @@ export const wrapped = async ( }) }) ).json(); - const { statusCount, messageCount } = await profileActivities(anilistAuthorisation, identity); + const { statusCount, messageCount } = await profileActivities( + anilistAuthorisation, + identity, + new Date(year, 11, 31).getTime() + ); return { statistics: wrappedResponse['data']['User']['statistics'], |