From be1be100bb8107183174763be121cc1482fce781 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 4 Feb 2024 21:17:07 -0800 Subject: feat(badges): import replies --- src/lib/AniList/activity.ts | 10 +++++++--- src/routes/user/[user]/badges/+page.svelte | 8 +++++++- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/lib/AniList/activity.ts b/src/lib/AniList/activity.ts index f6209b57..fb15521e 100644 --- a/src/lib/AniList/activity.ts +++ b/src/lib/AniList/activity.ts @@ -280,7 +280,7 @@ export const activityLikes = async (id: number): Promise[]> => { return activityResponse['data']['Activity']['likes']; }; -export const activityText = async (id: number): Promise => { +export const activityText = async (id: number, replies = false): Promise => { const activityResponse = await ( await fetch('https://graphql.anilist.co', { method: 'POST', @@ -291,12 +291,16 @@ export const activityText = async (id: number): Promise => { body: JSON.stringify({ query: `{ Activity(id: ${id}) { - ... on TextActivity { text(asHtml: true) } + ... on TextActivity { text(asHtml: true) ${replies ? 'replies { text(asHtml: true) }' : ''} } } }` }) }) ).json(); + let text = activityResponse['data']['Activity']['text']; - return activityResponse['data']['Activity']['text']; + if (replies) + for (const reply of activityResponse['data']['Activity']['replies']) text += reply.text; + + return text; }; diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte index 96c12e5a..17073c4d 100644 --- a/src/routes/user/[user]/badges/+page.svelte +++ b/src/routes/user/[user]/badges/+page.svelte @@ -43,6 +43,7 @@ // let badgeCount = 0; let importLinks = false; let importCategory = ''; + let importReplies = false; // $: downloadDisabled = badgeCount > 20; @@ -332,7 +333,7 @@ if (type !== 'activity') return null; - let text = await activityText(parseInt(id)); + let text = await activityText(parseInt(id), importReplies); const images: ImportImage[] = []; @@ -714,6 +715,11 @@

+ + Import Replies + +

+