diff options
| author | Fuwn <[email protected]> | 2024-01-02 15:21:59 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-02 15:21:59 -0800 |
| commit | db17b25a759bde3ebca2b282d1bc45cd51a78840 (patch) | |
| tree | 38125c3839269afa52e618c01c6e71b9bc67dc1b /src/lib/Tools/RandomFollower.svelte | |
| parent | chore: remote debug logs (diff) | |
| download | due.moe-db17b25a759bde3ebca2b282d1bc45cd51a78840.tar.xz due.moe-db17b25a759bde3ebca2b282d1bc45cd51a78840.zip | |
feat(tools): random follower finder
Diffstat (limited to 'src/lib/Tools/RandomFollower.svelte')
| -rw-r--r-- | src/lib/Tools/RandomFollower.svelte | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/lib/Tools/RandomFollower.svelte b/src/lib/Tools/RandomFollower.svelte new file mode 100644 index 00000000..e52d4e86 --- /dev/null +++ b/src/lib/Tools/RandomFollower.svelte @@ -0,0 +1,56 @@ +<script lang="ts"> + import { followers } from '$lib/AniList/following'; + import RateLimited from '$lib/Error/RateLimited.svelte'; + import { clearAllParameters } from '$lib/Utility/parameters'; + import { onMount } from 'svelte'; + + let input = ''; + let submit = ''; + let randomSeed = 0; + + onMount(clearAllParameters); +</script> + +<p> + <!-- svelte-ignore missing-declaration --> + <input + type="text" + placeholder="Username" + bind:value={input} + on:keypress={(e) => { + if (e.key === 'Enter') { + submit = input; + randomSeed = Math.random(); + + // eslint-disable-next-line no-undef + umami.track('Random Follower'); + } + }} + /> + <a + href={`#`} + on:click={() => (submit = input) && (randomSeed = Math.random())} + title="Or click your Enter key" + data-umami-event="Random Follower" + > + Generate + </a> +</p> + +{#if submit !== ''} + {#await followers(submit)} + Loading followers ... 50% + {:then users} + {@const user = users[Math.floor(randomSeed * users.length)]} + + <p> + <a href={`https://anilist.co/user/${user.id}`} target="_blank"> + {user.name} + </a> + </p> + {:catch} + <RateLimited type="Followers" list={false} /> + {/await} +{:else} + <p>Enter a username to search for to continue.</p> +{/if} |