aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Tools
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-08 15:27:28 -0800
committerFuwn <[email protected]>2024-01-08 15:27:28 -0800
commit6620bc00fdf5173ffb20a9057a4580b59410dbd7 (patch)
tree57f149d20ce28960909bda1bba1d6fcbbd0ef515 /src/lib/Tools
parentfix(badges): loading order (diff)
downloaddue.moe-6620bc00fdf5173ffb20a9057a4580b59410dbd7.tar.xz
due.moe-6620bc00fdf5173ffb20a9057a4580b59410dbd7.zip
feat(tools): new tools url method
Diffstat (limited to 'src/lib/Tools')
-rw-r--r--src/lib/Tools/Picker.svelte24
-rw-r--r--src/lib/Tools/tools.ts43
2 files changed, 67 insertions, 0 deletions
diff --git a/src/lib/Tools/Picker.svelte b/src/lib/Tools/Picker.svelte
new file mode 100644
index 00000000..6ead9624
--- /dev/null
+++ b/src/lib/Tools/Picker.svelte
@@ -0,0 +1,24 @@
+<script lang="ts">
+ import { browser } from '$app/environment';
+ import { goto } from '$app/navigation';
+
+ export let tool: string;
+</script>
+
+<blockquote>
+ <select
+ bind:value={tool}
+ on:change={() => {
+ if (browser) goto(`/tools/${tool}`);
+ }}
+ >
+ <option value="default" selected disabled hidden>Select a tool to continue</option>
+ <option value="wrapped">AniList Wrapped</option>
+ <option value="birthdays">Today's Character Birthdays</option>
+ <option value="sequel_spy">Sequel Spy</option>
+ <option value="discussions">Episode Discussion Collector</option>
+ <option value="random_follower">Random Follower Finder</option>
+ <option value="dump_profile">Dump Profile</option>
+ <option value="activity_history">Activity History Analyser</option>
+ </select>
+</blockquote>
diff --git a/src/lib/Tools/tools.ts b/src/lib/Tools/tools.ts
new file mode 100644
index 00000000..c0e499b2
--- /dev/null
+++ b/src/lib/Tools/tools.ts
@@ -0,0 +1,43 @@
+export const tools: { [key: string]: { name: string; description?: string; id: string } } = {
+ default: {
+ name: 'Tools',
+ description: 'A collection of tools to help you get the most out of AniList.',
+ id: 'default'
+ },
+ wrapped: {
+ name: 'AniList Wrapped & Statistics Panel',
+ description:
+ 'Instantly generate an AniList themed Wrapped for your profile, doubling as a statistics panel for your bio',
+ id: 'wrapped'
+ },
+ birthdays: {
+ name: "Today's Character Birthdays",
+ description:
+ 'Find and display the birthdays of all characters for today, or any other day of the year',
+ id: 'birthdays'
+ },
+ sequel_spy: {
+ name: 'Sequel Spy (Missing Prequel Finder)',
+ description: "Find media with prequels you haven't seen yet for any given simulcast season",
+ id: 'sequel_spy'
+ },
+ discussions: {
+ name: 'Episode Discussion Collector',
+ description: 'Find and display all episode discussions for a given user',
+ id: 'discussions'
+ },
+ random_follower: {
+ name: 'Random Follower Finder',
+ description: 'Find a random follower of any given user',
+ id: 'random_follower'
+ },
+ dump_profile: {
+ name: 'Dump Profile',
+ description: "Dump a user's profile to JSON",
+ id: 'dump_profile'
+ },
+ activity_history: {
+ name: 'Activity History Analyser',
+ id: 'activity_history'
+ }
+};