From aa600b666ae733de8662f1c15cfcaebaa13dca06 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 1 Mar 2024 04:17:12 -0800 Subject: feat(badges): migrate category mode --- src/routes/user/[user]/badges/+page.svelte | 67 ++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'src/routes/user') diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte index 03c9af50..ba02679c 100644 --- a/src/routes/user/[user]/badges/+page.svelte +++ b/src/routes/user/[user]/badges/+page.svelte @@ -49,6 +49,7 @@ let importCategory = ''; let importReplies = false; let badger: Partial; + let migrateMode = false; // $: downloadDisabled = badgeCount > 20; @@ -376,6 +377,21 @@ importMode = false; importImages = undefined; }); + + const migrateCategory = () => { + badgesPromise = fetch( + `/api/badges?migrate=true&original=${encodeURIComponent( + (document.querySelector('#migrate_original') as HTMLInputElement).value + )}&new=${encodeURIComponent( + (document.querySelector('#migrate_new') as HTMLInputElement).value + )}`, + { + method: 'PUT' + } + ); + + migrateMode = false; + }; @@ -490,6 +506,16 @@ ? $locale().user.badges.importMode.disable : $locale().user.badges.importMode.enable} + + {#if editMode && isOwner} {@const groups = groupedBadges @@ -767,6 +793,47 @@ {/if} + (migrateMode = false)} show={migrateMode}> + Migrate Category + +

+ + + + + Leave original category empty to migrate all uncategorised badges. + + +

+ + + + +