import type { UserIdentity } from './identity'; export interface ActivityHistoryEntry { date: number; amount: number; } export const activityHistory = async ( userIdentity: UserIdentity ): Promise => { return ( await ( await fetch('https://graphql.anilist.co', { method: 'POST', headers: { 'Content-Type': 'application/json', Accept: 'application/json' }, body: JSON.stringify({ query: `{ User(id: ${userIdentity.id}) { stats { activityHistory { date amount } } } }` }) }) ).json() )['data']['User']['stats']['activityHistory']; }; export const lastActivityDate = async (userIdentity: UserIdentity): Promise => { const history = await activityHistory(userIdentity); const date = new Date( Number(history[history.length - 1]['date']) * 1000 + new Date().getTimezoneOffset() ); date.setDate(date.getDate() + 1); return date; };