diff options
Diffstat (limited to 'src/routes/user')
| -rw-r--r-- | src/routes/user/[user]/badges/+page.svelte | 19 |
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 |