diff options
| author | Fuwn <[email protected]> | 2024-02-04 21:17:07 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-02-04 21:17:07 -0800 |
| commit | be1be100bb8107183174763be121cc1482fce781 (patch) | |
| tree | 91e379f7d23288cbe50cd23b88d85eeb9decaab1 /src | |
| parent | fix(badges): batch import single identity (diff) | |
| download | due.moe-be1be100bb8107183174763be121cc1482fce781.tar.xz due.moe-be1be100bb8107183174763be121cc1482fce781.zip | |
feat(badges): import replies
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/AniList/activity.ts | 10 | ||||
| -rw-r--r-- | src/routes/user/[user]/badges/+page.svelte | 8 |
2 files changed, 14 insertions, 4 deletions
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<Partial<User>[]> => { return activityResponse['data']['Activity']['likes']; }; -export const activityText = async (id: number): Promise<string> => { +export const activityText = async (id: number, replies = false): Promise<string> => { const activityResponse = await ( await fetch('https://graphql.anilist.co', { method: 'POST', @@ -291,12 +291,16 @@ export const activityText = async (id: number): Promise<string> => { 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 @@ <p /> + <input type="checkbox" id="import_links" name="import_links" bind:checked={importReplies} /> + Import Replies + + <p /> + <button on:click={() => { importMode = false; |