aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/user')
-rw-r--r--src/routes/user/[user]/badges/+page.svelte19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index d83576b6..1d0896fc 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -426,6 +426,21 @@
migrateMode = false;
};
+
+ const exportBadges = (groupedBadges: [string, Badge[]][]) => {
+ const url = URL.createObjectURL(
+ new Blob([JSON.stringify(groupedBadges)], { type: 'application/json' })
+ );
+ const downloadAnchor = document.createElement('a');
+
+ downloadAnchor.href = url;
+ downloadAnchor.download = 'badges.json';
+
+ document.body.appendChild(downloadAnchor);
+ downloadAnchor.click();
+ downloadAnchor.remove();
+ URL.revokeObjectURL(url);
+ };
</script>
<HeadTitle route={`${data.username}'s Badge Wall`} path={`/user/${data.username}`} />
@@ -448,6 +463,8 @@
AI-generated material.
<p />
Failure to do so may result in AniList removing your Badge Wall link from your profile.
+ <p />
+ If you see any users with AI-generated badges, don't be afraid to remind them.
</div>
<p />
@@ -539,6 +556,8 @@
>
Migrate Category
</button>
+ <span style="margin: 0 0.625rem;">•</span>
+ <button on:click={() => exportBadges(groupedBadges)}>Export Badges</button>
{#if editMode && isOwner}
{@const groups = groupedBadges