diff options
| author | Fuwn <[email protected]> | 2024-01-14 22:19:59 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-14 22:19:59 -0800 |
| commit | d210d464ac22e4dcbe9c19d18c46ef3e2e10147f (patch) | |
| tree | af76a7a2df110beb0a7450594d1806c6766304f6 /src/lib/Tools/Likes.svelte | |
| parent | fix(wrapped): limit activities to year (diff) | |
| download | due.moe-d210d464ac22e4dcbe9c19d18c46ef3e2e10147f.tar.xz due.moe-d210d464ac22e4dcbe9c19d18c46ef3e2e10147f.zip | |
feat(tools): likes
Diffstat (limited to 'src/lib/Tools/Likes.svelte')
| -rw-r--r-- | src/lib/Tools/Likes.svelte | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/lib/Tools/Likes.svelte b/src/lib/Tools/Likes.svelte new file mode 100644 index 00000000..e54923bb --- /dev/null +++ b/src/lib/Tools/Likes.svelte @@ -0,0 +1,46 @@ +<script lang="ts"> + import { activityLikes } from '$lib/AniList/activity'; + import { threadLikes } from '$lib/AniList/forum'; + import RateLimited from '$lib/Error/RateLimited.svelte'; + import InputTemplate from './InputTemplate.svelte'; + + let submission = ''; + + $: normalisedSubmission = submission.replace(/.*\/(activity|thread)\/(\d+).*/, '$2'); + $: submissionType = submission.replace(/.*\/(activity|thread)\/(\d+).*/, '$1'); + $: likesPromise = + submissionType === 'activity' + ? activityLikes(Number(normalisedSubmission)) + : threadLikes(Number(normalisedSubmission)); +</script> + +<InputTemplate + field="Activity or Thread URL" + bind:submission + event="Get All Likes" + submitText="Get All Likes" +> + {#if submission.match(/https:\/\/anilist.co\/(activity|forum\/thread)\/\d+/)} + {#await likesPromise} + Loading {submissionType} ... 50% + {:then likes} + {#if likes && likes.length > 0} + <ul> + {#each likes as like} + <li> + <a href={`https://anilist.co/user/${like.name}`} target="_blank"> + {like.name} + </a> + </li> + {/each} + </ul> + {:else} + No likes were found for that {submissionType}. + {/if} + {:catch} + <RateLimited type="Likes" list={false} /> + {/await} + {:else} + Please enter a valid Activity or Thread URL. + {/if} +</InputTemplate> |