diff options
Diffstat (limited to 'src/routes/user')
| -rw-r--r-- | src/routes/user/[user]/badges/+page.svelte | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte index 6ad6e845..21beb415 100644 --- a/src/routes/user/[user]/badges/+page.svelte +++ b/src/routes/user/[user]/badges/+page.svelte @@ -37,6 +37,7 @@ // let dark = true; // let transparent = false; let confirmDelete = 0; + let confirmPrune = 0; let selectedBadge: Badge | undefined = undefined; let loadError: string | null = null; const isId = /^\d+$/.test(data.username); @@ -206,6 +207,25 @@ selectedBadge = undefined; }; + const removeAllBadges = () => { + if (confirmPrune === 2) { + confirmPrune = 0; + } else if (confirmPrune === 0) { + confirmPrune = 1; + + return; + } else { + confirmPrune = 2; + + return; + } + + selectedBadge = undefined; + badgesPromise = fetch(root(`/api/badges?prune=true`), { + method: 'DELETE' + }); + }; + const removeBadge = (badge: Badge) => { if (!badge.id) return; @@ -733,6 +753,20 @@ {$locale().user.badges.importMode.fetch} </button> + <p /> + + <details> + <summary>Dangerous</summary> + + <button class="button-lined no-shadow" on:click={removeAllBadges}> + {$locale({ + values: { + times: 3 - confirmPrune + } + }).user.badges.editMode.deleteAll} + </button> + </details> + {#if importImages && importImages.length > 0} <p /> |